【发布时间】:2011-09-03 12:37:41
【问题描述】:
我有一个自定义的<NSOutlineViewDataSource>,我会使用它的NSOutlineView 来更新selectionIndexPaths 属性。我无法让bind:toObject:withKeyPath:options: 真正正确绑定。基本上,我需要我的数据源知道选择了哪个项目。
当我绑定到selectionIndexes(由 NSTableView 声明)或selectionIndexPaths(由 NSOutlineView 声明)时,文档表明我应该能够(除非出于某种原因仅在 IB 中可用),我得到一个运行时例外是大纲视图对于这些键中的任何一个都不“符合键值编码”。
当我绑定到selectedRowIndexes(一个后备,因为我需要获取该信息并对其进行逆向工程以确定选择了哪个父/子对)时,它会使用@更新一次数据源数据源中的 987654331@ 冻结为其初始值。我也没有手动设置。此外,我什至无法在另一个方向上绑定selectedRowIndexes,因此数据源可以更新大纲视图的选择。我在大纲视图上得到了相同的“键值编码兼容”异常。
我在我的数据源类中定义了一个@property,并带有一个支持ivar,并且在加载数据后,我将它从一个控制器类绑定到数据源和大纲视图,在@ 987654334@.
【问题讨论】:
标签: objective-c cocoa nstableview cocoa-bindings key-value-observing