gpt4 book ai didi

objective-c - 上下文 NSMenu : how to get the NSTableView to which belongs to?

转载 作者:行者123 更新时间:2023-12-03 17:10:55 25 4
gpt4 key购买 nike

我有一个带有 4 个 NSTableView 的界面生成器 (nib) 文件。

它们都具有与上下文菜单相同的 NSMenu(我已将每个表连接到相同的菜单组件)。

菜单内只有一个菜单项,它的目标功能是:

-(IBAction)addRemoveItem:(id)sender

我可以轻松地从函数参数中获取 NSMenuItem,从而获取 NSMenu。但我如何获得 table 呢?我无法将其设置为委托(delegate),因为我在多个表中使用相同的菜单。

最佳答案

一种方法是查询每个 TableView 的 clickedRow。值不是 -1 的那个是被点击的。

另一种方法可能是为每个 TableView 使用 NSTableView 的自定义子类。在您的自定义子类中,覆盖 -menuForEvent:。调用 super 电话。如果返回一个菜单,则向其他对象报告该表正在显示上下文菜单,然后返回该菜单。您可以扩展委托(delegate)协议(protocol)来进行报告,或者您可以发布通知。

关于objective-c - 上下文 NSMenu : how to get the NSTableView to which belongs to?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29519238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com