Я пытаюсь реализовать простой метод, однако я все еще новичок в target-c.
У меня есть этот простой метод, который пытается преобразовать идентификатор в конкретное значение в enum,если соответствует.
Это перечисление
typedef enum {
DXTypeUnknown = 0,
DXDatasource = 1,
DXGroup = 2
} DXPropertyType;
И это соответствующий метод:
-(DXPropertyType)typeFromObject:(id)_type {
int _t = [_type intValue];
switch (_t) {
case DXDatasource:
return [NSNumber numberWithInt:DXDatasource];
case DXGroup:
return [NSNumber numberWithInt:DXGroup];
default:
return [NSNumber numberWithInt:DXTypeUnknown];
}
}
Самая первая проверка, которую я хотел бы реализовать, это если идентификаторможно преобразовать в целое число, а затем посмотреть, попадает ли оно в две соответствующие категории или источник данных, или вернуть значение по умолчанию, если нет.Не могли бы вы сказать мне, является ли переключатель / случай, который я реализовал, является правильным решением или нет?Я также хотел бы, чтобы этот метод не вызывал сбой приложения, поэтому рекомендуется проверить его, учитывая, что в любом случае должно быть возвращено значение по умолчанию.
спасибо
[РЕДАКТИРОВАТЬ] Я забыл сказать, что это значение будет храниться в поле NSManagedObject, который по ограничению CoreData может быть NSNumber, поэтому, вероятно, есть лучшее решение вместо перечисления.