0
我得叫汽車核心數據託管對象模型,看起來像這樣整合企業核心數據:與自定義類
.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來使用核心數據)?或者我應該只是初始化/堅持正常的實例變量?例如。
self.name = [coder decodeObjectForKey:@"name"];
這感覺不對「因爲它是在init
方法的@property
方法。
或許:
super.name = [coder decodeObjectForKey:@"name"];
==== UPDATE
爲了澄清,我想實現我的Car
和CarCache
類的東西。
Car
用於在Core Data中本地存儲Car對象的詳細信息。
CarCache
用於存儲來自定期更改的Web服務(例如位置)的Car對象的詳細信息。
目前,他們每個人都使用一個單獨的模型,我想盡可能避免。所以,我想整合這兩個模型。
E.g.我可以讓CarCache成爲Car的一個子類。我沒有任何經驗繼承核心數據模型,所以我正在尋找建議。
問題是關於集成核心數據和自定義類。我現有的代碼(即沒有任何整合)看起來就像你的答案。問題在於你最終得到2個實例變量。例如。 CarCache中的_name和Car中的_name。因此,這個問題。 – Snowcrash
好吧,它們是兩個不同的實體,所以它們都可以具有相同的屬性名稱。當然,這個屬性不會被共享。也許你應該描述你想用CarCache實體完成的事情。 – Mundi