小编Rya*_*ker的帖子

核心数据获取请求失败,并显示:'NSInternalInconsistencyException',原因:'语句仍处于活动状态'

使用具有核心日期的导航控制器模板的基本应用布局:

委托:persistenceCoordinator,managedObjectModel,managedObjectContext

  • RootView:managedObjectContext(来自委托),addManagedObjectContext(使用模板中的模式),fetchResultsController
    • 添加/编辑视图(添加对象A及其B的层次结构)

我有两个对象,A和B共享一对一的关系/反向关系

使用模板中的模式app:

  1. 创建addManagedObjectContext
  2. 插入A实体
  3. 按下添加/编辑视图(已将插入的实体传递给它)

例外步骤1:

如果我只是填写A属性并保存一切正常.

  • 该对象被插入到数据库中(在命令行上使用sqlite3进行验证)
  • fetchResultsController更新列表视图
  • 我可以关闭并打开应用程序(完全关闭/打开而不仅仅是应用程序切换),列表视图将正确获取

如果我然后编辑A,我可以选择添加B并按下添加B视图(并传递A实体)

  • 填写B详细信息并保存
  • 将B插入到A的managedObjectContext中,设置关系,并保存上下文
  • 视图弹出,一切都很好
  • 对象都在数据库中具有正确的关系
  • 我可以重新加载记录并查看关系,进行编辑等
  • 例外:如果我关闭/重新打开应用程序,以便触发提取,则会出现标题中提到的错误.

例外步骤2:

如果我在初始"添加"中填写A属性和B属性

  • 保存B会触发A的上下文的完整保存(如上所述)
  • 通过模板设置的委托关系保存A保存(并将结果合并到主要的managedObjectContext等)
  • 对象正确插入数据库
  • 但是fetchResultsController不会更新以显示新记录
  • 例外:如果我关闭/重新打开应用程序,以便触发提取,则会出现标题中提到的错误.

我已经尝试先保存A,为B等添加单独的上下文.我很难说至少.任何帮助将不胜感激.

干杯,瑞恩

iphone core-data ios

7
推荐指数
1
解决办法
7785
查看次数

标签 统计

core-data ×1

ios ×1

iphone ×1