【问题标题】:Convert iOS app from NSCoding to Core Data将 iOS 应用从 NSCoding 转换为 Core Data
【发布时间】:2012-04-17 00:19:48
【问题描述】:

我的应用目前使用 NSCoding 来存储持久数据,但我想切换到 Core Data 以利用它与 iCloud 的集成。问题是该应用目前在 App Store 上运行,我担心一旦我做出更改,我当前用户本地商店的数据就会丢失。

理论上,我应该能够做到以下几点:

  1. 测试是否存在 NSCoding 数据
  2. 将数据转换为核心数据格式
  3. 为所有未来的“保存”使用 Core Data

...但我没有找到任何有关进行转换的文档。

有什么想法吗?还是我完全不在某个地方?

谢谢

【问题讨论】:

  • 你能做到吗?我发现自己处于类似的情况。

标签: ios core-data app-store icloud nscoding


【解决方案1】:

CoreData 做了一些不错的自动迁移,但那是来自不同的 CoreData 存储。在您的情况下,您必须编写自己的转换代码。

保留“旧”类,如果存在“旧”存储,则将其解压缩。然后,只需遍历存储中的对象,并创建它们的 CoreData 等价物。保存 CoreData,关闭它,然后重新加载它以检查以确保一切都相同。然后,删除旧的存储文件。

唯一的缺点是您必须保留旧代码(至少足以取消归档旧的对象格式)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多