So I have an issue with using a constant variable in the following switch statement in Objective-C.

I have **Constants.h** with the following:

```
// Constants.h    
extern NSInteger const TXT_NAME;

```

And **Constants.m** as:

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

NSInteger const TXT_NAME        = 1;

```

Then in **TabBasic.m** I am trying to use this constant in a switch-case statement:

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

```

But unfortunately it is giving me the following two errors on the "case TXT\_NAME:" line:

* Expression is not an integer constant expression
* Case label does not reduce to an integer constant

Does anyone know what I'm doing wrong? The "tag" variable of a UITextField returns an NSInteger, so I don't see the issue...

Thanks for your help!