不兼容的托管对象模型

时间:2012-11-16 13:24:45

标签: core-data

我构建了一个应用程序,带有一个实体的数据模型。 managedObjectContext可以与arrayController和TableView一起使用。一个非常简单,常见的设置。

几乎没有代码,我只想尝试使用coredata。

问题是,当我更改modell时,例如添加一个新实体,它不再兼容,在加载应用时结束显示两个错误。

这里是错误:

  

用于打开持久性存储的托管对象模型版本是   与用于创建持久存储的那个不兼容。

     

无法初始化商店

我想不知怎的,它试图加载到数组的最后一个模型,但我并不感兴趣。我想使用新的,并摆脱其他一切。

我搜索stackoverflow和谷歌四处,所以我已经清理了构建文件夹,清理了应用程序,仍然无法正常工作。 “我的应用程序名称的库或库/应用程序”中的那些文件夹不存在。

如何解决问题,并让应用程序使用新的DataModel?

1 个答案:

答案 0 :(得分:3)

您必须删除商店文件(实际的sqlite商店)。当您再次启动应用程序时,它将在AppDelegate中重新创建。

  1. 如果您使用的是模拟器,则可以进入文档文件夹并自行删除。 (复杂。

  2. 您可以在程序中设置标志,如果设置为true,则删除商店。这是一个很好的测试设置,特别是当您的数据集不是太大而且您不需要输入的数据在重新启动时保持不变时。 (推荐。

  3. 您只需从设备/模拟器中删除该应用即可。 (最容易的。