我希望通过执行以下操作以编程方式绑定到NSTreeController的selectionIndexPaths(这样我就可以在文本视图中获取一个字符串并显示)
[activePDFView bind:@“name” toObject:treeController withKeyPath:@ “selectionIndexPaths.nodeName” 选项:选项];
树控制器绑定到包含具有“nodeName”属性的对象的NSMutableArray。由于我已经实现了正确的访问器,因此NSMutableArray中的对象与属性“nodeName”符合KVC。
编译时,我收到以下消息
'[< __ NSArray0 0x1001698d0> 的addObserver:forKeyPath:选项:背景:] 不受支持。密钥路径:nodeName'
我不太确定但我的约束是否正确?
感谢。
答案 0 :(得分:2)
看起来您要绑定的内容不是selectionIndexPaths
,而是selection
绑定。 selectionIndexPaths
绑定将返回NSIndexPath
个对象的数组,通常仅在将大纲/浏览器视图的选择绑定到树控制器时使用。 selection
实际上返回一个代理对象,该代理对象可以表示单个或多个选择,并将任何KVC请求传递给基础选定对象。它在NSObjectController
中定义,它是NSTreeController
的超类。在您的情况下,您需要:
[activePDFView bind:@"name" toObject:treeController withKeyPath:@"selection.nodeName" options:options];