Преобразование в NS_ENUM из перечисления typedef приводит к дублированию символов - PullRequest
0 голосов
/ 27 сентября 2019

С этим определением:

typedef enum {
    FormTypeLong,
    FormTypeShort
} FormType

Я могу использовать FormType в своем коде следующими способами:

@property (nonatomic, assign) FormType formType; 

- (void)getFormTypeUsed:(void (^)(FormType formType)) completion;

-(FormType)getDefaultFormType;

-(void)setFormType: (FormType) type;

...
FormType formType = [NSNumber numberWithInt:FormTypeLog];

Однако изменив typedef enum на

NS_ENUM(NSInteger, FormType) {
    FormTypeLong,
    FormTypeShort
}

Заставляет Xcode сказать, что я должен использовать тег enum для ссылки на тип FormType, а затем по всему коду, чтобы поместить тег перед всеми видами использования FormType.

После этого, Я получаю сообщение о том, что у меня есть дубликаты символов.

Как мне преобразовать в NS_ENUM без всех этих ошибок?

1 Ответ

0 голосов
/ 30 сентября 2019

Вы пропустили typedef до NS_ENUM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...