这个枚举有2个名字吗?如何将其转换为NS_ENUM?

时间:2015-01-22 18:33:11

标签: objective-c enums 32bit-64bit

在将Objective-C enum转换为NS_ENUM时,我遇到了这样的情况,这对我来说很奇怪:

enum nameA{
    valueA=1,
    valueB,
    // ...
    valueN
}nameB;

在代码中,nameAnameB是两个不同的名称。 这个enum是否 nameA nameB作为其名称?如何将其转换为NS_ENUM

1 个答案:

答案 0 :(得分:1)

您的示例代码相当于:

enum nameA {
   ...
};
enum nameA nameB;

因此,它不仅仅是枚举的声明,它还是该类型变量的定义。在翻译时,您需要考虑到这一点。类似的东西:

typedef NS_ENUM(NSInteger, nameA) {
    ...
};
nameA nameB;