Xcode爲您的NSMO實體自動生成類實現 - 很好。如何修改可以在Bindings中訪問的可重用方式的NSManagedObject類的行爲?
但我們經常需要對它們進行定製。如果你忘記了自定義這些文件,Xcode會高興地「刪除」(覆蓋)並刪除所有代碼。
所以...經典的訣竅是:
- 創建NSManagedObject在蘋果的模式視圖
- 生成類
- 創建其使用類別來擴展原始類的新類,添加修改行爲
- 導入定製化類別頭,而不是基地NSMO頭,從而讓「新」的行爲
這很好用:把自定義代碼放在類別中,當你使用Xcode自動生成文件時,你永遠不會失去任何東西。
但是......現在我正在使用Bindings/Mac OS代碼,並且綁定很棒,但我不知道如何使綁定「導入」派生頭(與類別和修改的方法/自定義行爲)?
例如如果我有一個持有NSMO實例的ArrayController(非常常見),通常會告訴它「實體名稱」(例如「MyCoreDataEntity」),並且它會向該NSMO請求該類名稱。但是這不會加載類別,所以它永遠不會選擇該類的定製版本。
你如何解決這個問題?或者:你如何加載類別的類別版本?
OR:如何在不使用類別和AVOID的情況下編寫自定義代碼?感覺如何,Xcode會刪除所有代碼?
因此......每次您重新生成代碼時,您都必須記得手動編輯它並#include包含自定義代碼的文件? – Adam 2011-05-02 21:22:00
是的,到目前爲止,我就是這麼做的。不過,我正在研究開始前的預執行或其他任何方式來添加我自己的小預處理。這樣我可以節省很多工作,因爲可以添加更多的自動化任務。您是否知道這是否可以使用xCode4中的預執行完成? – user387184 2011-05-02 22:02:56