2011-05-06 105 views
3

是否有可能爲未在覈心數據模型中定義的NSManagedObject子類定義附加屬性?我有一系列我不想在模型中包含的其他屬性。NSManagedObject的子類,在模型中沒有定義其他屬性

我能夠給NSManagedObject保存上下文就好了,但是當我關閉應用程序,然後再次運行啓動應用程序時,NSManagedObject包含所有空值後取...

任何想法?

回答

2

如果你想保存這些值,你必須把它們放到你的模型中,否則你可以很好地創建它們,每次訪問該值並且不是先前創建的。

延遲加載樣式。

- (NSString *)name { 
    if (!name) { 
     name = ... 
    } 
    return name; 
} 
+0

這些是我不想保存的屬性。我沒有定義getter,因爲我將它們定義爲屬性。如果創建這些附加屬性是好的,那麼爲何所有屬性(包括模型中定義的屬性)都會返回空值?從提取返回的對象數量是正確的... – avenged 2011-05-06 00:37:58

+0

這樣的屬性絕對不是原因。很有可能你已經將屬性設置爲零。仔細檢查這一點,在設置值的代碼周圍使用一些'if's或'NSAssert'。不要忘記保存上下文。在可用時檢查所有返回值。特別是爲了保存。可能是因爲你插入了對象,保存空對象,設置了一些值,下一次保存失敗。 – 2011-05-06 00:44:02

+0

我只是做了一個使用通用NSManagedObject而不是我定義的NSManaged對象子類的提取測試,並且所有值似乎都很好......您確定我的類定義與此無關嗎? – avenged 2011-05-06 01:06:01

相關問題