selection.type
将弹出菜单绑定到数组控制器可以正常工作。currentDocument.arrayController.selection.type
将弹出菜单绑定到文档控制器只能单向工作(选择中的更改不会传播到弹出菜单)。如何根据焦点文档将弹出菜单绑定到相应的数组控制器,从而实现类似检查器窗口的功能?
答案 0 :(得分:0)
它们是相同的阵列控制器,还是Inspector窗口使用的是一个单独的阵列控制器,它恰好由同一个阵列提供?
两个独立的阵列控制器将有两个单独的选择。要解决此问题,请为拥有最终数组的同一对象提供NSIndexSet的第二个属性以供选择,并将两个数组控制器“selectedIndexes
绑定到该属性。”
对于弹出菜单的单个(不是多个)选择使用NSIndexSet似乎有些愚蠢,但阵列控制器是这样的通用。
答案 1 :(得分:0)
对于任何苦苦挣扎的人来说,这是一个(丑陋的)解决方法:子类NSArrayController,以便其选择始终返回其所有内容,在NSMutableSet中自己跟踪所选项,并将数组控制器的内容集绑定到该内容集。 (由于某种原因,绑定数组控制器的内容集在整个nib中起作用,尽管绑定弹出菜单的选择索引不会。)