我想将数据从一个商店复制到另一个商店。目标持久性存储可能已经有记录。这是否比任何更简单的方法,比手动通过所有记录并插入新的上下文并保存?在核心数据中的持久性存储之间复制记录?
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模型时,我只做了两次。对于增量更改,我只会使用自动迁移。 –