Если у меня есть перечисление:
typedef enum { SOMETHING, } MyEnum
и у меня есть NSString "SOMETHING", есть ли способ, которым я могу перейти непосредственно от строки к значению ENUM? Я понимаю, что могу сделать словарь, но мне любопытно.
Нет действительно чистого способа сделать это в Objective-C (или C, если на то пошло).
Вам нужно сопоставить значения перечисления с их строковыми аналогами. Есть несколько способов сделать это: (1) словарь, как вы упомянули. (2) Заявление о смене. (3) Массив строковых значений, где каждый индекс отображается на соответствующее значение перечисления.