Я пытаюсь реализовать простой метод, однако я все еще новичок в объекте-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];
}
}
Самая первая проверка, которую я хотел бы реализовать, это то, можно ли преобразовать идентификатор в int, а затем посмотреть, попадает ли он в два соответствующие группы категорий или источник данных, или возвращают значение по умолчанию, если нет. Не могли бы вы сказать мне, является ли реализованный мной переключатель / корпус правильным решением или нет? Я бы также хотел, чтобы этот метод не приводил к сбою приложения, поэтому что можно посоветовать проверить, имея в виду, что в любом случае должно быть возвращено значение по умолчанию.
спасибо
[РЕДАКТИРОВАТЬ] Я забыл сказать, что это значение будет храниться в поле NSManagedObject, которое по ограничению CoreData может быть NSNumber, так что, вероятно, есть лучшее решение вместо перечисления.