Я использую CoreData в приложении для iOS. Все работает отлично, за исключением полей, помеченных как Boolean в xcdatamodel, которые моделируются, и NSNumber.
Для таких полей я хочу написать какой-нибудь вспомогательный метод в расширенном классе, но мне было интересно, где лучше всего их написать или как лучше.
В MyManagedObject.h у меня есть:
@interface MyManagedObject : NSManagedObject {
@private
}
@property (nonatomic, retain) NSNumber * mandatory;
@end
Где обязательно - логическое значение в модели данных. Это сгенерированный класс из xcode:
@implementation MyManagedObject
@dynamic mandatory;
На данный момент, для правильного использования сущности мне нужно написать где-нибудь некоторые служебные методы-обертки, возможно, в самой сущности, такие как:
[myManagedObject mandatoryWrapper:YES];
-(void)mandatoryWrapper:(BOOL)mandatory {
// convert boolean to number
self.mandatory=convertedMandatory;
}
Но я намерен использовать оригинальный метод получения / установки, чтобы не создавать «путаницу»:
// setter
myManagedObject.mandatory=YES;
//getter
if(myManagedObject.isMandatory)
но я полагаю, что переписывание исходных методов позже вызовет некоторые проблемы в жизненном цикле приложения, например, при сохранении или извлечении в контексте.
спасибо.