我有一个已经发布的使用核心数据的应用程序。
现在我想添加对 watch 套件和今日扩展的支持。
我需要将核心数据移动到共享容器中而不丢失以前的用户保存的数据,我怎样才能以最好的方式做到这一点?
最佳答案
您可以迁移核心数据堆栈。 A fuller answer can be found here ,但简短的版本是:
- 检查旧的非组数据副本是否存在
- 如果是,请使用该文件设置核心数据堆栈。然后使用 migratePercientStore:toURL:options:withType:error: 将其移动到新位置。然后删除旧副本。
- 如果旧版本不存在,只需照常使用新副本设置 Core Data。
(Stephen's 答案的问题在于它假设核心数据堆栈是单个 SQLite 文件,但这并不总是正确的。)
关于iphone - Core Data 将数据移动到共享容器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29700289/