在C ++中,我可能在标头中执行以下操作:
cClass {
enum eList { FIRST, SECOND };
}
...以及其他一些课程中的内容:
cClass::eList ListValue = GetListValue();
if(ListValue == cClass::FIRST) {
...
}
是否有使用直率的Objective-C语言功能或Cocoa中的一些诡计可以允许类似范围的
enum
使用的等效项? 最佳答案
好了,您可以使用C来模拟其中的一部分:
创建一个C枚举并键入:
enum MONEnumType : uint8_t {
MONEnumType_Undefined = 0,
MONEnumType_Red,
MONEnumType_Green,
MONEnumType_Blue
};
声明容器:
struct MONEnum {
const enum MONEnumType Red, Green, Blue;
};
声明存储:
extern const struct MONEnum MONEnum;
定义存储:
const struct MONEnum MONEnum = {
.Red = MONEnumType_Red,
.Green = MONEnumType_Green,
.Blue = MONEnumType_Blue
};
正在使用:
enum MONEnumType ListValue = GetListValue();
if (ListValue == MONEnum.Red) {
/* ... */
}