我在iOS應用程序中使用CoreData。在創建NSManagedObject
類時,我大部分時間都遇到了問題。CoreData - 更新模型類而不是創建新的
這是我做的:
- 我
.xcdatamodeld
文件創建一個實體。 - 創建屬性和關係。
- 選擇選項
Editor->Create NSManagedObject Class
創建.h
和.m
類。 - 在
.h
和.m
類中,我創建了一些用於獲取/保存對象的自定義方法。
到目前爲止好。但是之後如果我必須改變一些屬性,我會重複第2步和第3步。但是這一次,我在第4步中編寫的所有自定義代碼都會自動刪除。
所以我的問題是如何更新現有的類?而不是使用選項Editor->Create NSManagedObject Class
,它刪除我所有的自定義代碼。
任何幫助表示讚賞。
更新:
測試兩種方法(分類和Mogernator)和看起來好像沒什麼問題。但是我選擇了一個純粹的Xcode方法。我不想冒任何第三方因XCode更新而可能發生中斷或者可能導致數據遷移問題的風險。
感謝@湯姆哈靈頓,以及@Valentin Shamardin指導我:)
您*無法*更新現有的類,Xcode將始終覆蓋文件。您可以使用類別(如下面的答案中所述)或使用「mogenerator」(請參閱http://stackoverflow.com/questions/18190845/mogenerator-and-xcode-4-advantages-disadvantages進行比較)。但是在這兩種情況下,每個實體都有兩個類。 –