核心数据NSPersistentStore问题

Mar*_*ary 7 core-data core-data-migration nspersistentstore ios7

我正在开发一个分阶段推出的应用程序.对于每个sprint,都有数据库更改,因此已实现核心数据迁移.到目前为止,我们已经有3个阶段发布.每当连续升级时,应用程序运行正常.但每当我尝试从版本1升级到版本3时,都会发生'无法添加持久存储'错误.有人可以帮我解决这个问题吗?

Mar*_*rra 5

核心数据迁移没有您期望的版本概念.就核心数据而言,只有两个版本,即NSPersistentStore您当前使用的版本和版本.

要使用轻量级迁移,您必须测试商店的每个版本,并确保它将直接迁移到当前版本.如果没有,那么您不能对该特定用例使用轻量级迁移,您需要开发迁移模型或提出另一种解决方案.

就个人而言,在iOS上,我避免了大量迁移,因为它在内存和时间方面非常昂贵.如果我不能使用轻量级迁移,我通常会探索导出/导入解决方案(例如导出到JSON并导入到新模型中)或查看从服务器刷新数据.


Mar*_*ary 1

我的问题是我试图在自动轻量级迁移期间更改我的属性数据类型,因为自动轻量级核心数据迁移不支持数据类型更改。我通过将数据类型重置为较旧的类型解决了此问题。