Por que não posso usar minha constante na instrução switch - case no Objective-C? [error = Expressão não é uma expressão constante inteira]

Então, eu tenho um problema ao usar uma variável constante na seguinte instrução switch no Objective-

Eu tenho Constants.h com o seguinte

// Constants.h    
extern NSInteger const TXT_NAME;

And Constants.m Como

// Constants.m
#import "Constants.h"

NSInteger const TXT_NAME        = 1;

Then in TabBasic.m Estou tentando usar essa constante em uma declaração de caso de mudança:

// 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;
        }
    }
}

Mas infelizmente, está me dando os dois erros a seguir na linha "case TXT_NAME:":

Expression não é uma expressão constante inteira etiqueta @Case não se reduz a uma constante inteira

Alguém sabe o que estou fazendo de errado? A variável "tag" de um UITextField retorna um NSInteger, então não vejo o problema ...

Obrigado pela ajuda

questionAnswers(2)

yourAnswerToTheQuestion