我可以使用item的tag属性来存储特殊的键/ ID,还是用于其他的?
预期用途示例:
- (void)awakeFromNib {
[self.popup addItemWithTitle: [NSString stringWithFormat: @"dummy title" ]];
[[self.popup lastItem] setTag: 1658 ];
}
- (IBAction)popupAction: (id)sender {
[self someMethod: [sender selectedItem].tag];
}
答案 0 :(得分:5)
是的,所有控件的tag
都可以免费使用,您可以为不同的商品使用不同的数字,或者将它们识别为一种商品,这取决于您。
答案 1 :(得分:3)
正如the documentation所说:
您通常会为Interface Builder中的菜单项指定标签,但您也可以使用
setTag:
的{{1}}方法以编程方式指定它们。
有关详细信息,请阅读Application Menus and Pop-Up Lists和User Interface Validation指南。但基本的想法是,Cocoa并不关心你放在那里的东西。
我认为预期的目的是让你松散地将部分代码连接在一起 - 验证用户操作的代码不必知道你的界面是如何设计的,并且你的界面不需要知道任何关于验证器;他们只需就一个数字达成一致。然而,在现代的Cocoa中,只需看一下动作就可以轻松,甚至更松散,因此可以为任何你想要的东西释放标签。