1
我在iOS應用程序中使用CoreData。一切工作正常,除了在xcdatamodel中標記爲布爾值的字段以及建模和NSNumber。 對於這類字段,我想在擴展類中編寫一些實用方法,但我想知道寫入它們的最佳位置在哪裏,或者什麼是最佳實踐。擴展NSManagedObject類中的包裝方法objective-c
在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;
}
但我的目標使用原來的getter/setter不產生「混亂」:
// setter
myManagedObject.mandatory=YES;
//getter
if(myManagedObject.isMandatory)
,但我想,改寫原來的方法,稍後會造成一些問題,在應用程序生命週期,例如在上下文中保存或檢索時。
謝謝。