延迟NSPopUpButton的开放

时间:2013-12-15 20:50:56

标签: nstableview cocoa-bindings nspopupbutton nspopupbuttoncell

我遇到了与此问题相同的问题: This one. 到目前为止,它从未被回答过。用两个词来说:

当您在NSTableView中放置NSPopUpButtonCell时,popUp会在之前打开,而tableView中的选择已经更改。

如果popUp的菜单依赖于tableView行的选择,则会更新太晚。

解决方案1:将popUp的开放与稍后几纳秒调用[super]的块区分开来。但我不知道我必须覆盖哪种方法。

解决方案2:使用我当前正在使用的其他绑定(popUp包含表中选择的实体的NSSet,我使用的是不同的控制器,而不是表的一个,我将其内容集绑定到myTable .selection.theSet。

我还能做些什么吗?谢谢!

1 个答案:

答案 0 :(得分:0)

是的,如果你使用基于视图的tableView,你可以通过它内部的cellView绑定popUp(就像你在这种模式下绑定的其他表对象一样),所以它完全是明确的,不依赖于选择

在基于视图的模式中,每行中的每个单元格都会从原始数据中分配一个“objectValue”,因此您可以直接绑定到它,例如“objectValue.popUpContents”。