Core data 不兼容的托管对象模型

Core data 不兼容的托管对象模型,core-data,Core Data,我已经构建了这个应用程序,其中有一个工作的DataModel和一个实体。managedObjectContext可以与arrayController和TableView配合使用。这是一个非常简单、通用的设置 现在几乎还没有代码,我只是想玩一下coredata 问题是,当我更改modell时,例如添加一个新实体,它不再兼容,在加载应用程序时显示两个错误 以下是错误: 用于打开持久存储的托管对象模型版本为 与用于创建持久存储的不兼容 未能初始化存储 我猜它会尝试加载到数组的最后一个模型,但我对此不感

我已经构建了这个应用程序,其中有一个工作的DataModel和一个实体。managedObjectContext可以与arrayController和TableView配合使用。这是一个非常简单、通用的设置

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

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

以下是错误:

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

未能初始化存储

我猜它会尝试加载到数组的最后一个模型,但我对此不感兴趣。我想用新的,把其他的都扔掉

我到处搜索stackoverflow和google,所以我清理了build文件夹,清理了应用程序,但仍然无法工作。“我的应用程序名”的库或库/应用程序中的文件夹不存在


如何解决这个问题,并使应用程序使用新的数据模型?

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

  • 如果您正在使用模拟器,您可以进入documents文件夹并自己删除它。(复杂)

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

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