.tag和tag有什么区别

时间:2010-12-02 06:01:14

标签: iphone-sdk-3.0

我对此有疑问。请查看以下示例代码:

UIButton *button;    
button.tag = 1;

int but =  (int)[(UIButton*)sender tag];

第一行我使用.tag方法将标记号1设置为按钮变量。在第二行中,我使用(int)[(UIButton*)sender tag];提取并将发送者转换为整数值。我的问题是,.tag和tag方法有什么区别?

1 个答案:

答案 0 :(得分:0)

应该没有区别。在Objective C 2.0之前,点方法不存在;这些都被添加了,但它们可以作为更长时间括号内呼叫的捷径。

在您的特定代码示例中,button在第一个代码块中没有指向按钮的指针。你需要打电话

UIButton *button = [UIButton buttonWithType:UIButtonRoundedRect];
button.tag = 1;

这会将标记设置为1.如您所示,第二个代码块会使用现有按钮并将其标记提取到int。并行方法的一个更好的例子是:

button.tag = 1;[button setTag:1];,或

int tag = button.tag;int tag = [button tag];