【问题标题】:simulate java enum objective-c模拟java枚举objective-c
【发布时间】:2010-08-07 16:35:37
【问题描述】:

在java中可以这样声明一个枚举

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

因此我们总是可以调用 myEnumInstance.getDescr() 来获取枚举描述。当然可以在构造函数中添加几个变量并创建其相应的访问器。 在objective-c中有什么类似的吗?

谢谢

【问题讨论】:

    标签: objective-c enums


    【解决方案1】:

    没有。不幸的是,ObjectiveC 中没有类似的东西。

    你可以有一个 Helper Class 将枚举映射到 NSString*...

    类似这样的:

    typedef enum {
       kONE,
       kTWO
    } MyEnum;
    

    然后是某处的类方法/消息:

    + (NSString*) getDescriptionFor:(MyEnum)e
    {
        switch(e) {
            case kONE:
                 return @"descr for one";
            case kTWO:
                 return @"descr for two";
            default:
                 break;
        }
        return @"";
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多