非常简单的问题却让我疯狂:编程清除NSArrayController选择的正确方法是什么?
我正在设计以下组件的视图:
- NSArrayController * controller1:绑定到对象数组 - NSPopUpView view1:内容绑定到controller1.arrangedObjects;值绑定到controller1.selection;“插入空占位符”已选中 - NSArrayController * controller2:绑定到存储在controller1.selection中的数组 - NSPopUpView view2:内容绑定到controller2.arrangedObjects;值绑定到controller2.selection;“插入空占位符”已选中
初始情况下,view1的内容已填充;controller1和controller2具有空选择值;view1和view2显示空占位符。选择controller1会导致controller1的选择改变并且view2的内容填充。一切正常。
我想要实现一个“清除”按钮,用于清除controller1的选择,由于绑定,这也应该清除controller2的选择并将view1和view2重置为null占位符。但是我无法找到这个非常简单功能的适当代码。更改controller1的选择无法更新在view1中显示的值。更糟糕的是,以编程方式更改控制器1的选择会导致控制器2中发生奇怪的事情:在view2中进一步选择值将无法对view1产生任何影响。
我尝试过以下方法:
- 使用[new NSArray]调用controller1的SetSelectedObjects方法。 - 使用null调用controller1的SetSelectedObjects方法。 - 对controller1使用NSNotFound调用SetSelectedIndex方法。 - 对controller1使用controller1的SelectedIndex属性调用RemoveSelectedIndex方法。 - 查看Cocoa NSArrayController文档中是否有任何清除选择值的类方法或建议。什么都没有 - 甚至没有提到这是可取的,更不用说如何实现了。
有什么想法吗?谢谢...
我正在设计以下组件的视图:
- NSArrayController * controller1:绑定到对象数组 - NSPopUpView view1:内容绑定到controller1.arrangedObjects;值绑定到controller1.selection;“插入空占位符”已选中 - NSArrayController * controller2:绑定到存储在controller1.selection中的数组 - NSPopUpView view2:内容绑定到controller2.arrangedObjects;值绑定到controller2.selection;“插入空占位符”已选中
初始情况下,view1的内容已填充;controller1和controller2具有空选择值;view1和view2显示空占位符。选择controller1会导致controller1的选择改变并且view2的内容填充。一切正常。
我想要实现一个“清除”按钮,用于清除controller1的选择,由于绑定,这也应该清除controller2的选择并将view1和view2重置为null占位符。但是我无法找到这个非常简单功能的适当代码。更改controller1的选择无法更新在view1中显示的值。更糟糕的是,以编程方式更改控制器1的选择会导致控制器2中发生奇怪的事情:在view2中进一步选择值将无法对view1产生任何影响。
我尝试过以下方法:
- 使用[new NSArray]调用controller1的SetSelectedObjects方法。 - 使用null调用controller1的SetSelectedObjects方法。 - 对controller1使用NSNotFound调用SetSelectedIndex方法。 - 对controller1使用controller1的SelectedIndex属性调用RemoveSelectedIndex方法。 - 查看Cocoa NSArrayController文档中是否有任何清除选择值的类方法或建议。什么都没有 - 甚至没有提到这是可取的,更不用说如何实现了。
有什么想法吗?谢谢...