2010-10-23 54 views
2
  • 将弹出菜单绑定到阵列控制器的路径selection.type工作正常。
  • 将弹出菜单绑定到路径为currentDocument.arrayController.selection.type的文档控制器只能单向工作(选择中的更改不会传播到弹出菜单)。

如何通过将弹出式菜单绑定到适当的数组控制器(取决于焦点文档)来实现类似于检查器窗口的功能?绑定到阵列控制器在另一个笔尖检查器窗口

回答

0

这是一个丑陋的解决方法,任何人都可以使用这个:NSArrayController子类,以便其选择始终返回其所有内容,自己跟踪NSMutableSet中的选定项,并将数组控制器的内容集绑定到该项。 (出于某种原因,绑定数组控制器的内容集适用于跨越笔尖,但绑定弹出式菜单的选择索引不会。)

0

它们是否是相同的数组控制器,还是Inspector窗口使用恰好由同一个数组提供的独立数组控制器?

两个独立的阵列控制器将有两个单独的选择。要解决这个问题,请为拥有最终数组的同一对象提供用于选择的NSIndexSet的第二个属性,并将两个数组控制器的selectedIndexes绑定到该属性。

对于弹出式菜单的单个(不是多个)选择使用NSIndexSet似乎有点愚蠢,但是数组控制器是通用的。

+0

只有一个数组控制器。 (呃,有和打开的文档一样多的东西。)问题是为什么直接绑定到它(因此需要将检查器窗口放在文档的笔尖中,meh)起作用,而通过文档控制器和'currentDocument '不。 – andyvn22 2010-10-23 15:11:23

相关问题