NSMenu删除所有项目时获取通知

时间:2012-12-11 17:20:33

标签: cocoa nsmenu

我需要在NSMenu实例中的菜单项被删除时得到通知。特别是因为我在我的班级中持有NSMenuItem * selectedItem实例。如果从我的NSMenu实例中删除了这个selectedItem,我想将selectedItem设置为nil;

当您从菜单中删除单个项目时,NSMenu会发出一个名为“NSMenuDidRemoveItemNotification”的通知。但是当你调用[myNSMenu removeAllItems]时,它不会被调用。

有什么想法吗? ,我需要继承NSMenu吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

是的,你是对的,没有关于removeAll的通知。

你正确地说你需要继承

或者,需要一些技巧(可能是hacky工作)

即使您可以使用removeEachItem方法创建类别。

如果菜单中只剩下一个项目,您可以跟踪上次调用的NSMenuDidRemoveItemNotification,则表示您完成了自己的要求。