为什么NSArrayController允许在没有NSTableView选择时删除对象?

时间:2013-09-10 01:53:05

标签: cocoa cocoa-bindings nsarraycontroller

我有一个我正在为OS X构建的Core Data应用程序。我的xib文件有NSArrayController,它绑定到AppDelegate的托管对象上下文。窗口中的NSTableView绑定到阵列控制器的arrangedObjects。各列绑定到数组控制器实体的相应属性,几乎所有内容都正常工作。除了布局上有一个用于移除对象的按钮,即使没有选择对象也能正常工作。

它的目标是数组控制器的remove:操作,其Enabled绑定设置为数组控制器的canRemove键。

我的猜测是我需要设置一些数组控制器的配置,以便除非有选择,否则它不允许删除对象,但我似乎无法找到它。

我需要做的是,除非在表格视图中有选择,否则数组控制器不允许删除对象?

2 个答案:

答案 0 :(得分:2)

是的,您需要在配置中添加其他内容。 您需要将按钮绑定到启用属性 - >阵列控制器 - >选择 - >型号Keypath - > “@计数”.. 以下是帮助您解决此问题的图片。

选择上的按钮绑定显示在enter image description here

下面的图像中

答案 1 :(得分:1)

事实证明,除了我提到的绑定之外,NSTableView也需要绑定。将其选择索引绑定到Array Controller.selectionIndexes解决了问题。