Не удается создать экземпляр 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)];
Другие вопросы по тегам