2013-10-01 51 views
5

我可以使用商品的标签属性来存储特殊的密钥/ ID还是用于别的东西?预期使用NSMenuItem标签属性的用途是什么?

例子:

- (void)awakeFromNib { 

    [self.popup addItemWithTitle: [NSString stringWithFormat: @"dummy title" ]]; 
    [[self.popup lastItem] setTag: 1658 ]; 
    } 

    - (IBAction)popupAction: (id)sender { 

    [self someMethod: [sender selectedItem].tag]; 

    } 

回答

4

耶所有控件的tag是免费为您的迂回的使用,你可以使用不同的号码,不同的项目,或将它们识别作为一种商品,它是由你决定。

+1

只要不要使用零,如果你还想在你的菜单中有separatorItems。 – iforce2d

+1

官方的NSMenuItem文档网站有非常有用的关于它的部分,它起始于'菜单项的标签',并且在那里设置了该段。 – thevikas

3

由于the documentation说:

通常,您可以指定标签,从Interface Builder中的菜单项,但你也可以通过编程使用的NSMenuItemsetTag:方法进行分配。

有关详细信息,请阅读Application Menus and Pop-Up ListsUser Interface Validation指南。但基本的想法是,可可不在乎你放在那里。

我相信预期的目的是让您松散地将代码的各个部分连接在一起 - 验证用户操作的代码不必知道您的界面是如何设计的,而且您的界面不必知道任何有关验证者;他们只需要同意一个数字。然而,在现代可可中,只需查看动作就可以轻松甚至更加松散,因此可以将标签释放出来以满足您的任何需求。

相关问题