使用枚举时无法使用 shorthand @n 类型语法实例化 NSNumber?
Can't instantiate NSNumber with shorthand @n type syntax when using enum?
我有一个 enum
定义如下:
typedef enum dataTypes{
LOW,
MEDIUM,
HIGH,
MAX_DATA_TYPE
} dataTypeEnum;
我希望能够像这样实例化 NSArray
个 NSNumber
:
NSArray * numsToUse = @[@LOW, @MEDIUM];
这不是编译。有什么见解吗?我是否必须为其中的每一个都使用更笨重的 [NSNumber numberWithInt:]
还是有办法解决这个问题? (出于多种原因,我考虑并拒绝了 #define
声明)。
你只需要使用表达式语法:
NSArray * numsToUse = @[@(LOW), @(MEDIUM)];
我有一个 enum
定义如下:
typedef enum dataTypes{
LOW,
MEDIUM,
HIGH,
MAX_DATA_TYPE
} dataTypeEnum;
我希望能够像这样实例化 NSArray
个 NSNumber
:
NSArray * numsToUse = @[@LOW, @MEDIUM];
这不是编译。有什么见解吗?我是否必须为其中的每一个都使用更笨重的 [NSNumber numberWithInt:]
还是有办法解决这个问题? (出于多种原因,我考虑并拒绝了 #define
声明)。
你只需要使用表达式语法:
NSArray * numsToUse = @[@(LOW), @(MEDIUM)];