iphone - Core Data 将数据移动到共享容器中

标签 iphone xcode core-data watchkit today-extension

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

我需要将核心数据移动到共享容器中而不丢失以前的用户保存的数据,我怎样才能以最好的方式做到这一点?

最佳答案

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

  1. 检查旧的非组数据副本是否存在
  2. 如果是,请使用该文件设置核心数据堆栈。然后使用 migratePercientStore:toURL:options:withType:error: 将其移动到新位置。然后删除旧副本。
  3. 如果旧版本不存在,只需照常使用新副本设置 Core Data。

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

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

相关文章:

ios - 将核心数据实现到现有应用程序中,创建或未编写的 sqlite

cocoa - 核心数据、NSTableView 和获取选定行值

swift - App Store 更新会删除核心数据/NSUserDfeaults 吗?

ios - 尝试在我的个人 iPhone 上模拟我的 Xcode 项目

ios - 基于短信的应用程序中 itunesconnect 中的演示帐户

iphone - 为什么这个 UIButton 不显示它的文本标签?

iphone - sqlite3数据库文件的正确位置是什么?

iphone - 刷新 UITableView 中的数据

ios - 在 Swift 4 中使用字典填充 UITableView 数据

ios - Xcode 5 不打印异常详细信息