1

我想通过执行以下操作以编程方式绑定到 NSTreeController 的 selectionIndexPaths(这样我就可以获得一个字符串选择并在文本视图中显示)

[activePDFView bind:@"name" toObject:treeController withKeyPath:@"selectionIndexPaths.nodeName" options:options];

树控制器绑定到一个 NSMutableArray,其中包含具有“nodeName”属性的对象。NSMutableArray 中的对象与属性“nodeName”的 KVC 兼容,因为我已经实现了正确的访问器。

当我编译时,我收到以下消息

'[<__NSArray0 0x1001698d0> addObserver:forKeyPath:options:context:] 不受支持。关键路径:nodeName'

我不太确定,但我的绑定是否正确?

谢谢。

4

1 回答 1

3

看起来您要绑定的不是selectionIndexPaths,而是selection绑定。绑定将selectionIndexPaths返回一个对象数组,NSIndexPath通常仅在将大纲/浏览器视图的选择绑定到树控制器时使用。 selection实际上返回一个代理对象,它可以表示单个或多个选择,并通过任何 KVC 请求传递到底层选定对象。它在 中定义NSObjectController,它是 的超类NSTreeController。在你的情况下,你会想要:

[activePDFView bind:@"name" toObject:treeController withKeyPath:@"selection.nodeName" options:options];
于 2010-08-06T01:11:27.103 回答