我正在开发一个分阶段推出的应用程序。对于每个sprint,都有数据库更改,因此已经实现了核心数据迁移。到目前为止,我们已经发布了3个阶段的版本。无论何时完成逐级升级,应用程序都运行良好。但是,每当我试图从版本1升级到版本3时,“无法添加持久存储”“错误发生”。有人能帮我解决这个问题吗?
发布于 2014-05-15 09:25:29
我的问题是,在自动轻量级迁移过程中,我试图更改属性数据类型,因为自动轻量级核心数据迁移不支持数据类型更改。我通过将数据类型重置为旧类型来解决此问题。
发布于 2014-04-28 14:36:44
核心数据迁移没有您所期望的版本的概念。就核心数据而言,只有两个版本,即NSPersistentStore版本和当前使用的版本。
要使用轻量级迁移,必须对存储的每个版本进行测试,并确保它将直接迁移到当前版本。如果它没有,那么您就不能为这个特定的用例使用轻量级迁移,并且您需要开发一个迁移模型或者想出另一个解决方案。
就个人而言,在iOS上,我避免了大量迁移,因为它在内存和时间方面非常昂贵。如果我不能使用轻量级迁移,我通常会探索导出/导入解决方案(例如导出到JSON并导入到新模型),或者查看来自服务器的刷新数据。
https://stackoverflow.com/questions/23333494
复制相似问题