使用枚举时,是否可以使用简写的@n类型语法实例化NSNumber?

时间:2015-12-10 16:23:13

标签: objective-c enums nsnumber objective-c-literals

我的enum定义如下:

typedef enum dataTypes{
    LOW,
    MEDIUM,
    HIGH,
    MAX_DATA_TYPE
} dataTypeEnum;

我希望能够像NSArray那样实例化NSNumber

NSArray * numsToUse = @[@LOW, @MEDIUM];

这不是编译。任何见解?我是否必须为这些中的每一个都使用笨拙的[NSNumber numberWithInt:]或者有办法解决这个问题吗? (由于多种原因,我考虑并拒绝了#define个陈述。)

1 个答案:

答案 0 :(得分:2)

您只需要使用表达式语法:

NSArray * numsToUse = @[@(LOW), @(MEDIUM)];