如果我有一个枚举:
typedef enum {
SOMETHING,
} MyEnum
我有一个NSString "SOMETHING",是否可以直接从字符串转换为枚举值?我意识到可以使用字典来实现此功能,但我很好奇。
如果我有一个枚举:
typedef enum {
SOMETHING,
} MyEnum
我有一个NSString "SOMETHING",是否可以直接从字符串转换为枚举值?我意识到可以使用字典来实现此功能,但我很好奇。
实际上,在Objective-C(或任何其他语言,也是如此)中,没有真正干净的方法来做到这一点。
您需要将枚举值映射到其字符串对应项。您可以使用多种方法来实现此目的:(1)使用字典,正如您所提到的。(2)使用switch语句。(3)使用字符串值数组,其中每个索引都映射到相应的枚举值。
switch
语句只能操作整数类型。您必须使用if...else if...
结构。 - robnasby