我使用魔法记录用线
设置CoreData[MagicalRecord setupCoreDataStackWithStoreNamed:@"MyModel"];
现在处于应用程序的第2阶段
[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"MyModel 2"];
但会发生的是数据被清除。一切都从头开始:(我深深地讨厌请帮助。有人吗?
答案 0 :(得分:2)
当您对现有核心数据模型进行更改时,您必须添加新版本。
这并不意味着您的数据库名称已更改,所有发生的事情是您告诉Core Data已添加新版本以及自动迁移魔法可以开始的位置。这就是为什么你可以在finder中打开.xcdatamodeld,显示包内容,你会看到你的两个版本。
因此,请继续使用原始模型名称初始化Magical Record:[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"MyModel"];
您的文件检查器中的MyModel.xcdatamodeld 2旁边应该有一个绿色勾号:)
您还需要注意,如果无法执行迁移,MagicalRecord将在调试模式下删除模型,因此请阅读lightweight migration guide如何为轻量级迁移设置有效的模型更改