如何从子菜单中获取NSMenuItem?

时间:2011-07-28 03:55:16

标签: cocoa nsmenuitem nsmenu

我有一个对最外层菜单的引用,但我试图获得一个嵌套在子菜单中的NSMenuItem的引用:

NSMenuItem* file_menu = [menu itemWithTitle:@"File];

file_menu显然是一个子菜单(NSMenu),但我不知道如何从它的itemarray中获取一个项目。我已经尝试将它转换为NSMenu并将itemWithTitle作为选择器执行而没有运气。

如何从中获取第一个NSMenuItem?

1 个答案:

答案 0 :(得分:5)

喜欢这个。

NSMenuItem* file_menu = [menu itemWithTitle:@"File"];
if (file_menu.hasSubmenu) {
    NSArray *menu_items = file_menu.submenu.itemArray;
    NSMenuItem *first_item = [menu_items objectAtIndex:0];
}

如果菜单项有子菜单,子菜单属性将允许您访问它,然后您可以使用itemArray属性访问其菜单项。