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

5

如果我有一个枚举:

typedef enum {
  SOMETHING,
} MyEnum

我有一个NSString "SOMETHING",是否可以直接从字符串转换为枚举值?我意识到可以使用字典来实现此功能,但我很好奇。

1个回答

8

实际上,在Objective-C(或任何其他语言,也是如此)中,没有真正干净的方法来做到这一点。

您需要将枚举值映射到其字符串对应项。您可以使用多种方法来实现此目的:(1)使用字典,正如您所提到的。(2)使用switch语句。(3)使用字符串值数组,其中每个索引都映射到相应的枚举值。


2
FYI... 在 Objective-C 中,switch 语句只能操作整数类型。您必须使用 if...else if... 结构。 - robnasby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接