Objective C:将字符串转换为枚举

JPC*_*JPC 5 objective-c

如果我有一个枚举:

typedef enum {
  SOMETHING,
} MyEnum
Run Code Online (Sandbox Code Playgroud)

我有一个NSString"SOMETHING",有没有一种方法可以直接从字符串转到ENUM值?我意识到我可以制作一本字典来做这件事,但我很好奇.

csa*_*ano 8

在Objective-C(或C,就此而言)中没有真正干净的方法.

您将不得不将枚举值映射到其字符串对应项.您可以通过多种方式执行此操作:(1)字典,如您所述.(2)转换声明.(3)字符串值数组,其中每个索引映射到相应的枚举值.

  • FYI ... Objective-C中的`switch`语句只能对整数类型进行操作.你必须使用`if ... else if ...`构造. (2认同)