views:

49

answers:

1

Hi all,

in java an enum can be declared like this

enum MyEnum {
  ONE("descr for one"),
  TWO("descr for two");

  private String descr;

  MyEnum(String descr) {
    this.descr=descr;
  }

  public String getDescr() {return this.descr;}
}

therefore we can always call myEnumInstance.getDescr() for getting enum description. It is possible of course to add several variable in constructor and create its corresponding accessor. Is there anything similiar in objective-c ?

thanks

+3  A: 

No. Unfortunately for you, there is nothing similar in ObjectiveC.

You can have a Helper Class mapping enums to NSString* though...

Something like this:

typedef enum {
   kONE,
   kTWO
} MyEnum;

And then a class method/message somewhere:

+ (NSString*) getDescriptionFor:(MyEnum)e
{
    switch(e) {
        case kONE:
             return @"descr for one";
        case kTWO:
             return @"descr for two";
        default:
             break;
    }
    return @"";
 }
Pablo Santa Cruz
ok...I'll go for that helper class, thanks
Leonardo