参考this post,似乎Objective-C中没有可能定义两个enum
s,其值与此示例相同:
enum AnEnum {
AnyValue
};
enum AnotherEnum {
AnyValue // Error: Redefinition of enumerator 'AnyValue'
};
我想了解为enum
s设置名称的机会可用,但显然没有任何可能使用它的背景(例如在Java中通过AnotherEnum.AnyValue
调用值)
答案 0 :(得分:1)
Objective-C是C. enum
是C enum。而且没有命名空间。这就是为什么约定命名枚举AnEnumAnyValue和AnotherEnumAnyValue的原因。您会发现所有Cocoa枚举都以这种方式工作:
typedef enum {
UIViewAnimationTransitionNone,
UIViewAnimationTransitionFlipFromLeft,
UIViewAnimationTransitionFlipFromRight,
UIViewAnimationTransitionCurlUp,
UIViewAnimationTransitionCurlDown,
} UIViewAnimationTransition;
如果你想要像Java这样的范围枚举名称,请切换到Swift。