我遇到了和这个问题一样的问题:这一个。 --到目前为止还没有得到回答。用两个词:
当您将NSPopUpButtonCell放置在NSTableView中时,popUp在之前打开,tableView中的选择已更改。
如果popUp的菜单依赖于选择tableView的一行,那么它将被更新得太晚了。
解决方案1:使用一个块来区别popUp的打开,该块在几纳秒后调用超级。但我不知道该用哪种方法。
解决方案2:使用我目前正在使用的其他绑定( popUp包含表中选择的实体的NSSet,我使用的是不同的控制器,而不是表的控制器,我将其内容设置为myTable.selection.theSet )。
还有什么我能做的吗?谢谢!
发布于 2014-01-10 10:09:28
是的,如果您使用基于视图的tableView,您可以通过它所在的cellView绑定popUp (就像在这种模式下绑定的其他表对象一样),因此它是完全明确的,不依赖于所选内容。
在基于视图的模式下,每一行中的每个单元格都从原始数据中分配了一个“objectValue”,因此您可以直接绑定到它,比如‘objectValue.popUpContent’。
https://stackoverflow.com/questions/20599632
复制相似问题