Цель C: преобразовать строку в enum - PullRequest
5 голосов
/ 16 августа 2011

Если у меня есть перечисление:

typedef enum {
  SOMETHING,
} MyEnum

и у меня есть NSString "SOMETHING", есть ли способ, которым я могу перейти непосредственно от строки к значению ENUM? Я понимаю, что могу сделать словарь, но мне любопытно.

1 Ответ

8 голосов
/ 16 августа 2011

Нет действительно чистого способа сделать это в Objective-C (или C, если на то пошло).

Вам нужно сопоставить значения перечисления с их строковыми аналогами. Есть несколько способов сделать это: (1) словарь, как вы упомянули. (2) Заявление о смене. (3) Массив строковых значений, где каждый индекс отображается на соответствующее значение перечисления.

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