Допустим, у меня определено это перечисление (из UIKit-структуры Apple):
typedef enum {
UITextAutocorrectionTypeDefault,
UITextAutocorrectionTypeNo,
UITextAutocorrectionTypeYes,
} UITextAutocorrectionType;
и у меня есть простая строка со значением "UITextAutocorrectionTypeDefault". В моем случае эта строка происходит из объекта JSON, но это не имеет значения.
Что было бы для меня лучшим способом преобразовать строку в правильное значение перечисления, чтобы я мог установить свойство в классе? Я знаю, что Obj-C не может просто преобразовать значение напрямую (как вы можете сделать с Java или C #), и в моем случае у меня есть много перечислений, которые могут быть созданы позже. Существуют ли какие-либо автоматические или полуавтоматические способы сделать это, кроме создания словаря сопоставления вручную?