Итак, у меня проблема с использованием постоянной переменной в следующем операторе switch в Objective-C.
У меня Constants.h со следующим:
// Constants.h
extern NSInteger const TXT_NAME;
И Константы .m как:
// Constants.m
#import "Constants.h"
NSInteger const TXT_NAME = 1;
Затем в TabBasic.m Я пытаюсь использовать эту константу в операторе switch-case:
// TabBasic.m
#import "TabBasic.h"
#import "Constants.h"
... code ...
- (IBAction)saveValue:(id)sender {
if ([sender isKindOfClass: [UITextField class]]) {
UITextField *txtField = (UITextField *) sender;
switch (txtField.tag) {
case TXT_NAME:
NSLog(@"Set property name to: %@", txtField.text);
break;
}
}
}
Но, к сожалению, это дает мне следующие две ошибки в строке "case TXT_NAME:":
- Выражение не является целым константным выражением
- Метка Case не сводится к целочисленной константе
Кто-нибудь знает, что я делаю неправильно? Переменная "tag" UITextField возвращает NSInteger, поэтому я не вижу проблемы...
Спасибо за вашу помощь!