NSTreeController,arrangeObjects - NSOutlineVIew列如何从绑定中获取数据?

时间:2011-12-08 18:48:13

标签: xcode4.2 nsoutlineview nstreecontroller

将XCode 4.2与ARC一起使用。

我正在尝试为各种各样的东西编写自定义视图。我正在使用NSTreeController。

我还有一个标准的大纲视图。我的节点有一个属性'name',它是一个NSAttributedString。

在我使用绑定的标准大纲视图中,我已将列绑定到树控制器的“arrangeObjects.name”IB抱怨这是一个属性字符串,而不是字符串但是它可以正常显示,并且可以编辑(例如,对于字体和颜色。

另一方面,在我的自定义视图中,如果我尝试将arrangeObjects.name绑定到任何内容,则会出现错误 - “[< _NSControllerTreeProxy 0x1003389c0> valueForUndefinedKey:]:此类不符合键值编码关键名称。“

当然,这与文档一致,但与NSOutlineView的内容不一致!

我可以用arrangeObjects.childNodes和递归以及其他代码做我想做的事,但是

  1. OutlineView是如何做到的?和,
  2. 为什么IB会向属于大纲视图列的属性字符串发出红色警告?

0 个答案:

没有答案