2015-04-06 80 views
0

我知道我可以將預填充的SQLite文件設置爲CoreData persist文件。但是,當我更新我的應用程序版本,並且需要更新預填充數據時,我想知道除了在新版本啓動之後按代碼刪除新的預填充數據之外,是否還有其他方法來執行此操作。如何更新預先填充的CoreData SQLite文件?

+0

你看過使用屬性列表文件嗎?一旦你學會將列表中的數據解析到你的SQLite數據庫中,我發現它們相對容易管理。 – andrewbuilder 2015-04-07 08:26:16

回答

0

你可以選擇預填充的SQLite文件作爲persistentStoreCoordinator源文件,但請記住,如果你去更新數據,用戶生成的內容將會丟失......

+0

我知道,所以我認爲使用代碼來將更新的預填充數據轉換爲舊版本應用程序是唯一方法。 – user392412 2015-04-06 08:53:36

0

在我的項目之一我也遇到過類似的問題。我的方法就是這樣。

  1. 在Core Data中創建2個配置。一個用於靜態數據,另一個用於動態數據。

  2. 雖然配置您的persistantCordinator設置兩個單獨的SQLite文件相應的CoreData配置。

  3. 除了在persistantCordinator級別設置兩個單獨的數據庫之外,沒有extrac編碼工作。其他的一切都將由CoreData來管理。閱讀,寫作等

  4. 對於靜態數據庫保持自己的DATABASE版本。當您的靜態數據更改增加此數據庫版本和應用程序啓動時使用此新版本檢查現有的數據庫版本。如果新版本更大,則複製並替換現有的靜態數據庫。

用這種方法你有以下好處。

  1. 你不會失去你的動態數據。

  2. 只有當靜態數據發生變化時,才需要更改靜態數據庫。

希望這會有所幫助。