我遇到了与此问题相同的问题: This one. 到目前为止,它从未被回答过。用两个词来说:
当您在NSTableView中放置NSPopUpButtonCell时,popUp会在之前打开,而tableView中的选择已经更改。
如果popUp的菜单依赖于tableView行的选择,则会更新太晚。
解决方案1:将popUp的开放与稍后几纳秒调用[super]的块区分开来。但我不知道我必须覆盖哪种方法。
解决方案2:使用我当前正在使用的其他绑定(popUp包含表中选择的实体的NSSet,我使用的是不同的控制器,而不是表的一个,我将其内容集绑定到myTable .selection.theSet。
我还能做些什么吗?谢谢!
答案 0 :(得分:0)
是的,如果你使用基于视图的tableView,你可以通过它内部的cellView绑定popUp(就像你在这种模式下绑定的其他表对象一样),所以它完全是明确的,不依赖于选择
在基于视图的模式中,每行中的每个单元格都会从原始数据中分配一个“objectValue”,因此您可以直接绑定到它,例如“objectValue.popUpContents”。