【问题标题】:Debugging NSArrayController bound to NSManagedObjectContext调试绑定到 NSManagedObjectContext 的 NSArrayController
【发布时间】:2012-04-11 20:19:19
【问题描述】:

我有一个带有两个实体 A 和 B 的 NSManagedObjectContext。我有一个 NSArrayController 绑定到 NSManagedObjectContext 和一个 NSTableView。 NSArrayController 设置为列出 B 类型的实体。然后数组控制器提供给表格视图。

阵列控制器所在的 NIB 由 NSWindowController 调用。在初始化时,我添加了每个对象的一个​​实例,但是当我到达 windowDidLoad 时,托管对象上下文已被填充,但数组控制器为空。

使用 gdb 我可以打印在窗口控制器中可见的 MOC 和绑定到数组控制器的 MOC,它们都具有相同的地址。

关于如何调试的任何线索?

【问题讨论】:

  • 您是否检查了 NSArrayController 的属性检查器中的“准备内容”复选框?容易忘记,无法调试...
  • 如果你保存你的上下文,数据会出现在你的商店中吗?
  • 是的。我可以毫无问题地从我的 MOC 中获取数据。如果我手动将数据添加到阵列控制器,它也会出现在表格中。我不能做的是让阵列控制器看到 MOC 中的数据,即使它绑定到同一个 MOC。
  • 这应该可以。仔细检查所有绑定,尤其是表格视图的绑定。如果没有生成异常,这些东西几乎是不可能调试的。由于您没有发布任何有关此的详细信息,因此我认为没有出现异常...
  • 什么都没有。完全没有反馈。我知道 MOC 中有东西,我可以手动将它添加到阵列控制器中。我不能做的是让阵列控制器看到 MOC 中的东西。

标签: objective-c cocoa core-data nsmanagedobjectcontext nsarraycontroller


【解决方案1】:

删除了 NIB 和控制器并从头开始创建代码。事情似乎完美无缺。我怀疑这是 Xcode 中的一个错误。

【讨论】:

  • Sometimes Product -> Clean from the Xcode menu 也可以解决这些问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多