我有一个已经发布的使用核心数据的应用程序。
现在,我想添加对 watch 套件和今天扩展的支持。

我需要将核心数据移到共享容器中,而又不会丢失以前的用户保存的数据,我该如何以最佳方式做到这一点?

最佳答案

您可以迁移核心数据栈。 A fuller answer can be found here,但简短的版本是:

  • 检查数据的旧非组副本是否存在
  • 如果可以,请使用该文件设置Core Data堆栈。然后使用migratePersistentStore:toURL:options:withType:error:将其移动到新位置。然后删除旧副本。
  • 如果旧版本不存在,则照常使用新副本设置Core Data。

  • (Stephen's答案的问题在于,它假定核心数据堆栈是单个SQLite文件,但并不总是如此。)

    关于iphone - 核心数据将数据移到共享容器中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29700289/

    10-10 21:07
    查看更多