The*_*imp 3 core-data objective-c nsobject nsmanagedobject ios
我是新手core data,我正试图让我的头脑如何利用NSManagedObjects.基本上我有几个我打算使用的对象core data(彼此之间有关系).
在查看核心数据之前,我写了一个由3组成的基本模型NSObjects,现在我已经从这个模型创建了一个core data model并生成了3个NSManagedObjects.我在现有的3中有一些逻辑NSObjects(例如指定的初始化器和专门的getter和setter),我仍然想要使用它.
我的问题是,是否我可以从3转移逻辑NSObjects直接到3 NSManagedObjects,然后使用它们,因为我会在我的原始设计(同额外的好处是能够很容易地坚持他们),或者我是否需要同时保留NSObjects为以及NSManagedObject.
请有人就最佳设计实践提出建议,我希望尽可能保持我的代码清洁和结构良好.
提前致谢!
小智 8
如果您只是将自定义类的超类更改为- ,只要您没有与之相冲突的方法/属性名称,那么从NSManagedObject继承之后NSObject就不会失去功能.这样您就不必保留orignal类,使代码更清晰,逻辑更简单.NSObjectNSManagedObjectNSManagedObject
当我必须为NSManagedObject添加额外的功能时,我创建类别并将其保存在单独的文件中,因为当我修改.xcdatamodeld文件时,我通常会覆盖NSManagedObject子类,而不是手动更新更新的文件.
优惠+ Localized.h:
#import "Offer.h"
@interface Offer (Localized)
- (NSString *) localizedPrice;
@end
Run Code Online (Sandbox Code Playgroud)
优惠+ Localized.m:
@implementation Offer (Localized)
- (NSString *) localizedPrice;
{
if ( self.price > 0 ) {
return [NSString stringWithFormat:NSLocalizedString(@"Price: %d", nil), self.price];
} else {
return NSLocalizedString(@"Free", nil);
}
}
@end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1470 次 |
| 最近记录: |