我想將數據從一個商店複製到另一個商店。目標持久性存儲可能已經有記錄。這是否比任何更簡單的方法,比手動通過所有記錄並插入新的上下文並保存?在覈心數據中的持久性存儲之間複製記錄?
0
A
回答
2
如果要複製全部的數據,可以使用migratePersistentStore:toURL:options:withType:error:
,這是NSPersistentStoreCoordinator
上的一種方法。這將有效地將整個持久性存儲複製到新的持久性存儲文件。有些事情需要注意:
- 儘管有這個名字,但這種方法與模型版本控制沒有任何關係。兩者都使用「遷移」一詞,但它們是不同的過程。
- 在嘗試此操作之前,您應該確保已保存全部未完成的更改。
- 這樣做了以後,你要從中遷移該店從這就意味着
- 被管理對象的任何現有的引用現在已無效coordinator--刪除。你應該重新獲取它們。
- 如果您繼續使用協調器,那麼您正在使用新的存儲文件。
如果你不想複製數據的所有,你需要「手動」做,從老店獲取對象和創造的新的等效對象。
+0
如果目標網址中存在持久性存儲,將從目標持久性存儲中刪除記錄還是保留並添加新記錄? –
+1
內置遷移方法旨在創建持久性存儲的新副本,並且不會與任何現有數據合併。不過,「手工」操作可以編寫代碼。 –
相關問題
- 1. Progamatically重置持久性存儲文件中的核心數據
- 2. 具有多個持久性存儲的核心數據
- 3. 持久性存儲是否需要iPhone上的核心數據?
- 4. 密碼保護核心數據持久性存儲
- 5. 核心數據 - 更新持久性存儲不工作
- 6. 核心數據 - 移除持久性存儲時發生死鎖
- 7. 如何刪除核心數據持久性存儲
- 8. 帶核心數據的UIBezierPath持久性
- 9. 複製(複製)核心數據記錄和相關記錄
- 10. 核心數據獲取持久性
- 11. 核心數據數據庫持久存儲位置已更改
- 12. iPhone核心數據:在撤消期間的財產持久性
- 13. 核心數據 - 持久存儲無法在iOS 5.1上創建
- 14. 使用定製的核心數據持久存儲通過webservices獲取數據?
- 15. 緩慢加載核心數據中的持久性存儲協調器
- 16. 使用NSMigrationManager將數據追加到核心數據持久性存儲
- 17. 持久存儲的核心數據錯誤
- 18. 核心數據遷移不會持久存在新屬性
- 19. 核心數據中的持久書籤
- 20. 核心數據崩潰 - 該NSPersistentStoreCoordinator沒有持久性存儲(損壞的文件)
- 21. 重新創建持久性存儲庫後的核心數據錯誤
- 22. 核心數據的應用程序不會從持久性存儲
- 23. 目標C核心數據 - 屬性不會被保存持久
- 24. 核心數據可以使用Web服務作爲持久性存儲嗎?
- 25. 刪除核心數據持久性存儲而不是遷移(也使用RestKit)
- 26. 核心數據可以使用Google文檔作爲持久性存儲嗎?
- 27. 核心數據:無法添加持久性存儲到協調器
- 28. 核心數據會爲我創建持久性存儲文件嗎?
- 29. 複製NSManagedObjectContexts與共享持久性存儲之間的掛起更改?
- 30. 在持久性存儲中存儲數據
我設法完成此操作的唯一方法是在應用程序啓動後顯示進度指示器視圖,該視圖鎖定視圖狀態,然後繼續手動遷移商店。當我需要完全遷移我的Core Data模型時,我只做了兩次。對於增量更改,我只會使用自動遷移。 –