Не удается создать экземпляр NSNumber с сокращенным синтаксисом типа @n при использовании enum?
У меня есть enum
определяется так:
typedef enum dataTypes{
LOW,
MEDIUM,
HIGH,
MAX_DATA_TYPE
} dataTypeEnum;
Я хотел бы иметь возможность создать экземпляр NSArray
из NSNumber
вот так:
NSArray * numsToUse = @[@LOW, @MEDIUM];
Это не компилируется. Есть идеи? Должен ли я пойти с более грубым [NSNumber numberWithInt:]
для каждого из них или есть способ обойти это? (Я рассмотрел и отклонил #define
заявления по ряду причин).
1 ответ
Решение
Вам просто нужно использовать синтаксис выражения:
NSArray * numsToUse = @[@(LOW), @(MEDIUM)];