我有一个名为Car的核心数据托管对象模型,它看起来像这样:
。H
@property (nonatomic, strong) NSString *name;
.m
@dynamic name;
我有一个名为CarCache的自定义类,用于缓存下载的汽车详细信息,如下所示:
。H
@property(nonatomic,copy) NSString *name;
使用此实现进行持久化:
.m
- (id)initWithCoder:(NSCoder *)coder
{
if (self = [super init]){
_name = [coder decodeObjectForKey:@"name"];
我想整合这两个模型,但想检查我不会遇到问题。
我应该让 CarCache 成为 Car 的子类吗?如果是这样,我是否需要重写当前的持久化机制(即使用 NSCoder 来使用 Core Data)?或者我应该像往常一样初始化/持久化实例变量吗?例如
self.name = [coder decodeObjectForKey:@"name"];
这感觉不对,因为它是@property
方法中的init
方法。
也许:
super.name = [coder decodeObjectForKey:@"name"];
==== 更新
澄清我想要通过我的课程实现的Car
目标CarCache
。
Car
用于在 Core Data 中本地存储 Car 对象的详细信息。
CarCache
用于存储来自定期更改(例如位置)的 Web 服务的 Car 对象的详细信息。
目前,他们每个人都使用一个单独的模型,如果可能的话,我想避免。所以,我想整合这两个模型。
例如,我可以使 CarCache 成为 Car 的子类。我没有任何子类化核心数据模型的经验,所以我正在寻找建议。