【问题标题】:Can't run after changing datamodel in iOS在 iOS 中更改数据模型后无法运行
【发布时间】:2012-07-19 04:09:01
【问题描述】:

我有一个运行良好的 iOS 应用程序。我对 CoreData 数据模型进行了更改,以将属性添加到现有表中。现在,它不会运行。它到达了我尝试使用 NSPredicate 查询的位置,并且没有错误地爆炸。

我已经删除了模拟器中的应用程序。我已经删除了 Xcode Organizer 中的“Derived Data”目录。我已经“清理”并重建了。我不确定我还能做些什么来“重置”应用程序。

我知道对数据模型进行更改可能会出现需要相对硬重置的问题,但我不知道如何继续。我所做的只是将“整数 16”列添加到工作数据模型中,但现在我的应用程序已死。

那么,关于如何解决这个问题的任何想法?

【问题讨论】:

  • 您是否也对类文件进行了更改?
  • 我重新生成了 NSManagedObject 子类。它具有新属性(整数 16)。
  • “炸了”是什么意思?它崩溃了吗?挂起?查询返回一个空集合?
  • 当我发出 fetch 请求时,应用程序崩溃了。

标签: ios core-data


【解决方案1】:

出现此问题是因为用于保存数据库的托管对象模型的版本与新修改的模型不同。

您应该创建一个新版本的托管对象模型,然后配置 Core Data 以执行从以前的模型版本到最新版本的轻量级迁移。

请关注steps detailed in the documentation

【讨论】:

    猜你喜欢
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    相关资源
    最近更新 更多