Objective-C - как начать enum с NSInteger? - PullRequest
0 голосов
/ 08 мая 2018

Я работаю над приложением, и моя проблема началась, когда я попытался закодировать модель, имеющую свойство enum, используя NSCoding. Так что у меня возникла идея преобразовать его в rawValue и обратно. Я немного осмотрелся и нашел макрос NS_ENUM, поэтому мой код выглядит так:

typedef NS_ENUM(NSInteger, SectionType) {
    SectionTypeText = 0,
    SectionTypeVideo = 1,
    SectionTypeLink = 2,
    SectionTypeFile = 3,
    SectionTypeQuiz = 4,
    SectionTypeAudio = 5,
    SectionTypeGame = 6,
    SectionTypeHomework = 7
};

Но я не смог найти никакого возможного способа преобразовать их в соответствующее значение и обратно. Как я мог это сделать? Есть лучший подход, чем макрос NS_ENUM?

1 Ответ

0 голосов
/ 08 мая 2018

Мой Objective-C немного ржавый, но, думаю, я бы просто бросил его:

   SectionType type = (SectionType) 2;

Назад работает так же:

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