我需要能够在每次显示NSMenu层次结构时动态修改它(添加/删除项目等)。例如:
1.用户在主菜单上启动跟踪会话并选择子菜单 2.检测到子菜单即将打开并运行代码以修改它 3.保持跟踪,用户再次跟踪相同的子菜单:转到步骤2
因此,我有一个实现NSMenuDelegate协议的对象。menuNeedsUpdate方法第一次(步骤2)起作用,但不适用于第二次打开子菜单(每个跟踪会话仅调用一次)。
menuWillOpen方法每次都会被调用,但文档中有以下警告,似乎不适合使用这种方法:
请勿在此方法期间修改菜单或菜单项的结构。
有没有办法完成这个任务?
1.用户在主菜单上启动跟踪会话并选择子菜单 2.检测到子菜单即将打开并运行代码以修改它 3.保持跟踪,用户再次跟踪相同的子菜单:转到步骤2
因此,我有一个实现NSMenuDelegate协议的对象。menuNeedsUpdate方法第一次(步骤2)起作用,但不适用于第二次打开子菜单(每个跟踪会话仅调用一次)。
menuWillOpen方法每次都会被调用,但文档中有以下警告,似乎不适合使用这种方法:
请勿在此方法期间修改菜单或菜单项的结构。
有没有办法完成这个任务?
NSMenu.update()
方法。 - onmyway133