我的应用程序目前使用NSCoding来存储持久数据,但我想切换到Core Data以利用它与iCloud的集成。问题是该应用程序目前正在App Store上运行,我担心,一旦我进行更改,我当前用户本地商店的数据将会丢失。
理论上,我应该能够做到以下几点:
...但我没有找到任何有关转换的文档。
有什么想法吗?或者我完全离开某个地方?
由于
答案 0 :(得分:1)
CoreData做了一些不错的自动迁移,但这来自不同的CoreData商店。在您的情况下,您必须编写自己的转换代码。
保留“旧”类,并取消归档“旧”商店(如果有)。然后,只需遍历商店中的对象,并创建其CoreData等价物。保存CoreData,关闭它,然后重新加载它作为检查以确保一切都相同。然后,删除旧的存储文件。
唯一的缺点是你必须保留旧的代码(至少足以取消归档旧的对象格式)。