2012-08-14 88 views
0

我目前正在研究需要數據的應用程序。例如:書籍清單。創建首次啓動時預先填充的數據庫的最佳方式是什麼? 或者我們是否需要在第一次啓動時填充核心數據庫?數據發佈應用程序

在此先感謝您的幫助:)

+1

http://stackoverflow.com/questions/11922800/coredata-deliver-setup-default-data – Adam 2012-08-14 19:16:45

+1

可能的重複[任何方式預填充核心數據?](http://stackoverflow.com/questions/2230354/any-way-to-pre-populate-core-data) – Daniel 2012-08-14 19:19:02

回答

0

你可以存儲你喜歡的,文本文件的Plist等,甚至在數據庫中(大概源碼)「種子數據」的任何方式。

然後,當啓動您的應用程序時,檢查數據是否已存在於您的核心數據存儲中。如果沒有,將文件導入到數據庫中。

您也可以預先配置數據庫並將其複製到應用程序文檔目錄以使其可寫。這是一個更爲複雜的方法,因爲每當您的種子數據或模型發生變化時,您都必須重新生成此種子數據庫。

+0

感謝Mundi, 所以,如果我理解,如果我不創建一個sqlite數據庫爲例,我可以創建第一次啓動核心數據庫? 我們如何檢查覈心數據中是否存在一定範圍的數據? – Bobyblanco 2012-08-14 12:26:47

+0

這很簡單。只需做一個快速獲取,看看你是否得到任何結果。 – Mundi 2012-08-14 14:37:22

0

在我的應用程序中,我有一個數據庫,我只用它來閱讀(不寫),我將它包含在我的發佈包中。然後,我更新AppDelegate-> persistentStoreCoordinator方法,以指向我的數據庫的正確位置。

如果我需要寫入數據庫,那麼在訪問它之前我需要將它移動到Documents目錄。並且對AppDelegate-> persistentStoreCoordinator的更改將不再需要。