2014-02-10 45 views
1

我們有一個應用程序,它已經在生產中,我們需要替換一個核心數據模型。我們的服務器端發生了很多變化,我們希望更新模型以反映這些變化和新功能。是否可以在應用程序中使用多個Core Data模型?

我們正在討論從頭創建另一個模型並擺脫舊的模型,而不是執行定製的核心數據遷移。我們不需要在我們的實際模型中保留任何現有數據,因爲它全部在我們的服務器中可用,所以當用戶再次需要時,應用程序將在需要時下載它。

是否可以創建新模型,告訴應用程序使用它並安全地刪除舊模型?有沒有其他的選擇來解決這個問題?

+0

確定這是一個選項如何處理這個 – lukaswelte

回答

1

您可以擁有儘可能多的型號。如果您將Apple的模板用於Core Data Stack,則應該更改managedObjectModel和persistentStoreCoordinator以反映您的模型和文件的新名稱。

如果您本地不需要任何遺留數據,那麼在準備新模型名稱的新模型後,修改這兩種方法應該就足夠了。

另一種選擇是通過新模型版本自動遷移現有數據,但在您的情況下似乎確實需要。

+0

在更新現有的應用程序方面,只要我指出模型的新名稱,我應該沒有關於核心數據堆棧初始化的任何問題,真的嗎? – amb

+1

如果您正在使用Apple的Core Data Stack模板,那麼您只需要創建新模型(New File-> Data Model),定義您的新實體,屬性和關係,然後創建NSManagedObject子類(Editor-> Create NSManagedObject Sublclass ...),然後在AppDelegate.m中更新這兩個提到的方法的URL,以反映新模型,也許還有一個新文件,它會起作用。 –

相關問題