2012-07-27 17 views
2

我想將一些自定義方法直接放置到每個NSManagedObject中。認爲「計算字段」:這些方法提供基於實體上的持久值的只讀計算值 - 與this question相同。NSManagedObject子類上「計算字段」的方法

我正在使用Xcode新建文件...嚮導爲我的每個實體創建NSManagedObject子類。我試圖從系統自動爲我創建訪問器中受益。例如:

核心數據實體:「網站」

@interface Site : NSManagedObject 

正如我不斷地把新的屬性添加到我的實體,我通過使用嚮導替換其對應的NSManagedObjects。當每個文件被替換時,我的自定義方法都會丟失。

我應該在別處創建自定義方法,以便繼續使用嚮導嗎?或者,我應該保持在NSManagedObject上的方法,並手動添加訪問器的新屬性?還有另一種方法嗎?

回答

3

您NSManagedObject子類創建類別:

  • 在 「新建文件...」 對話框中,選擇 「Objective-C的類」。
  • 在「網站」上創建一個類別「CustomMethods」。
  • 的Xcode將創建文件網站+ CustomMethods.h,宣佈@interface Site (CustomMethods),並網站+ CustomMethods.m了相應的實施。
  • 將您的自定義方法添加到類別中。當你重新Site.mSite.h在Xcode

這些文件不會被覆蓋。

可以使用所有類別方法,就好像它們已經在類中聲明一樣。你在一個類別中唯一不能做的就是添加新的實例變量。

0

一旦我使用嚮導來創建初始託管對象,我通常會手動更改它們。

這樣做的另一種方法是創建嚮導生成的類文件的子類並使用它們。 當它們被重新生成時,所有的自定義代碼都在子類中,而不是被覆蓋的類文件。