2011-07-28 4 views
1

私が最も外側のメニューへの参照を持っているが、私はサブメニューにネストされていますNSMenuItemへの参照を取得しようとしている:サブメニューからNSMenuItemを取得するにはどうすればよいですか?

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

file_menuは明らかにサブメニュー(NSMenu)ですが、私はありませんよitemarrayからアイテムを取得する方法を確認してください。私はそれをNSMenuにキャストしようとしており、幸運のないセレクタとしてitemWithTitleを実行しました。

どのようにして最初のNSMenuItemを取得できますか?

答えて

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プロパティを使用して、そのメニュー項目にアクセスすることができます。