2

我已经构建了该应用程序,其中包含一个具有一个实体的工作数据模型。managedObjectContext 与 arrayController 和 TableView 一起工作得很好。一个非常简单且常见的设置。

几乎还没有代码,我只是想玩一下coredata。

问题是,当我更改模型时,例如添加一个新实体,它不再兼容,最终在加载应用程序时显示两个错误。

以下是错误:

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

无法初始化商店

我想它会以某种方式尝试将最后一个模型加载到数组中,但我对此并不感兴趣。我想使用新的,并摆脱其他一切。

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

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

4

1 回答 1

3

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

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

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

  3. 您只需从设备/模拟器中删除应用程序。(最简单的。

于 2012-11-17T10:55:26.320 回答