繁体   English   中英

将iOS应用从NSCoding转换为Core Data

[英]Convert iOS app from NSCoding to Core Data

我的应用程序当前使用NSCoding存储持久性数据,但是我想切换到Core Data,以利用其与iCloud的集成。 问题在于该应用程序当前已在App Store上发布,而且恐怕一旦进行更改,当前用户本地商店中的数据就会丢失。

从理论上讲,我应该能够执行以下操作:

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

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

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

谢谢

CoreData进行了一些不错的自动迁移,但这是来自不同的CoreData存储。 对于您的情况,您将必须编写自己的转换代码。

保留“旧”类,并取消存档“旧”商店(如果有)。 然后,只需遍历存储中的对象,并创建其等效的CoreData。 保存CoreData,将其关闭,然后重新加载以检查所有内容是否相同。 然后,删除旧的存储文件。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM