2015-10-20 25 views
1

我正在開發一個簡單的iOS 9應用程序(使用Swift和Xcode 7.01),該應用程序使用Timehop​​風格的界面來顯示對應當前日期的數據,回溯X年。Swift:種子核心數據數據模型的最簡單方法

我想在第一次運行時爲我的CoreData模型播種,在此第一次運行時基於用戶選擇的選項使用特定數據填充它(或稍後在用戶首選項中更改)。但是,我希望導入整個數據源,以便在用戶首選項發生更改時提供不同的數據。

我當前要遷移到CoreData的數據源當前處於CSV格式。我的問題是,在CoreData中導入/播種的最簡單的文件格式是什麼,在執行這樣的任務時是否有任何最佳實踐需要遵循,並且我有沒有正確的方向來制定實施?

回答

8

理想情況下,你希望你的應用程序的建設中,而不是在運行時做任何預載。您可以輕鬆預先創建Core Data sqlite文件並將其與應用程序捆綁包一起發貨。然後,您可以訪問所有數據或創建多個sqlite文件以適應您的應用程序的特定需求。

隨着應用程序包附帶的數據,您可以簡單地從應用程序包複製正確的sqlite文件,一旦知道使用哪一個,並完全避免在運行時解析數據。

在運行時解析大量數據會浪費用戶的時間,應該避免。

在構建期間執行此操作。

您的用戶會感謝您。