这个枚举有两个名字吗?如何将其转换为 NS_ENUM?
Does this enum have 2 names? How do I convert it to an NS_ENUM?
在将 Objective-C enum
s 转换为 NS_ENUM
s 时,我遇到了这样的情况,这对我来说很奇怪:
enum nameA{
valueA=1,
valueB,
// ...
valueN
}nameB;
在代码中,nameA
和nameB
是两个不同的名字。 这个enum
的名字是bothnameA
andnameB
吗?我如何将其转换为 NS_ENUM
?
您的示例代码等同于:
enum nameA {
...
};
enum nameA nameB;
所以它不仅仅是枚举的声明,它也是该类型变量的定义。在进行翻译时,您需要考虑到这一点。类似于:
typedef NS_ENUM(NSInteger, nameA) {
...
};
nameA nameB;
在将 Objective-C enum
s 转换为 NS_ENUM
s 时,我遇到了这样的情况,这对我来说很奇怪:
enum nameA{
valueA=1,
valueB,
// ...
valueN
}nameB;
在代码中,nameA
和nameB
是两个不同的名字。 这个enum
的名字是bothnameA
andnameB
吗?我如何将其转换为 NS_ENUM
?
您的示例代码等同于:
enum nameA {
...
};
enum nameA nameB;
所以它不仅仅是枚举的声明,它也是该类型变量的定义。在进行翻译时,您需要考虑到这一点。类似于:
typedef NS_ENUM(NSInteger, nameA) {
...
};
nameA nameB;