Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的应用程序目前使用 NSCoding 来存储持久数据,但我想切换到 Core Data 以利用它与 iCloud 的集成。问题是该应用程序目前在 App Store 上运行,我担心一旦我做出更改,我当前用户本地商店的数据就会丢失。
理论上,我应该能够做到以下几点:
...但我还没有找到任何有关进行转换的文档。
有任何想法吗?还是我完全不在某个地方?
谢谢
CoreData 做了一些很好的自动迁移,但那是来自不同的 CoreData 存储。在您的情况下,您将不得不编写自己的转换代码。
留下“旧”类,如果存在“旧”存储,则将其取消归档。然后,只需遍历存储中的对象,并创建它们的 CoreData 等价物。保存 CoreData,关闭它,然后重新加载它以检查以确保一切都相同。然后,删除旧的存储文件。
唯一的缺点是您必须保留旧代码(至少足以取消归档旧的对象格式)。