如何将NSMenuItem的启用状态绑定到NSArrayController的选择?我已经尝试将项目的启用状态绑定到控制器的selectedObjects或selectedIndexes,并且在任何情况下都没有在有选择时启用menuitem。在IB中,我取消选中“启用”复选框。我只是希望在表中有选择时启用NSMenuItem。我的表允许多个选择,我也使用一个绑定到selectedObjects的按钮。@ count和按钮启用/禁用按预期,所以我认为使用相同的keypath也适用于menuitem,但不是。这可不难,因为我无法通过谷歌找到答案,所以我认为它必须简单。 感谢
答案 0 :(得分:0)
启用的绑定必须获得BOOL
值,不幸的是,不会将任何旧对象视为布尔值True。但幸运的是,NSValueTransformer
使这样做变得容易。 NSValueTransformer
Class Reference中有几个常量,可以在IB的绑定窗格中使用。
在您的情况下,您可以将模型键路径绑定到“selectedObjects”,并在Value Transformer字段中输入“NSIsNotNil”。变换器为绑定提供了所需的BOOL
值。