2012-08-27 17 views
7

在設計XCode中的核心數據模型,可以自動在修改核心數據模型之後重新創建類定義的更好方法?

  1. 產生NSManagedObject子類定義(的.m和.h文件)編輯器中選擇的實體
  2. 選擇「創建NSManagedObject子類」菜單

之後,您可能會在這些類中添加很多代碼,如果之後由於某種原因必須修改數據模型設置很多,該怎麼辦?爲了在數據模型中反映這些變化,是否有自動的方式來做到這一點?或者你必須手動完成一切。

當前如果我嘗試再次(自動)從編輯菜單重新創建這些類定義,它將替換所有當前文件。所有添加的代碼將消失。

我真的希望Xcode的未來版本可以添加一個智能功能:自動更新默認的類定義而不會丟失額外的工作。也許我太懶惰了。 :)

回答

6

您遇到了一個常見問題。你幾乎一直堅持用Xcode創建託管對象子類的方式。知道了,你可以:周圍

  • 設計對於簡單的情況下,可以使用類別來添加功能(雖然不是狀態),以您的NSManagedObject子類。每當數據模型發生變化時,類別文件中的代碼顯然都不會被覆蓋。

  • 不要使用Xcode的

    Mogenerator是一個極好的工具,旨在準確地解決這個問題。它爲每個實體創建兩個類而不是一個,允許Xcode在管理另一個時管理其中一個。

0

您可以創建具有不同名稱的類和生成的字段粘貼到老班

1

看來蘋果已經與XCode的7解決的問題:現在它自動創建實體的類別實體與其核心數據屬性。當你重新生成時,它只會更新類別,讓實體類中的自定義代碼不會受到傷害。看到這個link