- 使用路径将弹出菜单绑定到数组控制器
selection.type
可以正常工作。 - 使用路径将弹出菜单绑定到文档控制器
currentDocument.arrayController.selection.type
只能以一种方式工作(选择的更改不会传播到弹出菜单)。
根据焦点文档,如何通过将弹出菜单绑定到适当的数组控制器来实现类似于检查器窗口的功能?
selection.type
可以正常工作。currentDocument.arrayController.selection.type
只能以一种方式工作(选择的更改不会传播到弹出菜单)。根据焦点文档,如何通过将弹出菜单绑定到适当的数组控制器来实现类似于检查器窗口的功能?
它们是同一个阵列控制器,还是使用恰好由同一个阵列馈送的单独阵列控制器的 Inspector 窗口?
两个单独的阵列控制器将有两个单独的选择。为了解决这个问题,为拥有最终数组的同一个对象提供一个用于选择的 NSIndexSet 的第二个属性,并将两个数组控制器绑定selectedIndexes
到该属性。
将 NSIndexSet 用于弹出菜单的单个(不是多个)选择可能看起来有点傻,但是数组控制器是通用的。
对于任何为此苦苦挣扎的人来说,这是一个(丑陋的)解决方法:子类 NSArrayController 以便它的选择始终返回其所有内容,自己在 NSMutableSet 中跟踪所选项目,并将数组控制器的内容集绑定到那个。(出于某种原因,绑定数组控制器的内容集可以跨 nib 工作,但绑定弹出菜单的选择索引却不行。)