当我使用@selector时如何传递参数

时间:2011-03-08 02:39:19

标签: iphone objective-c

我有一个UIButton,我想在点击它时调用一个方法。

[button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside]

同时,我需要将UIButton的标记传递给click函数;

- (void) click : (NSInteger) tag{
    NSLog(@"%d tag button clicked",tag);
}

但是我怎样才能传递标签参数?

2 个答案:

答案 0 :(得分:3)

选择器是消息的名称。他们不携带数据。您的问题的解决方案如下:

- (void)click:(id)sender
{
   NSLog("%d tag button clicked", [sender tag])
}

答案 1 :(得分:-1)

在我面前没有引用,但请查看performSelector:消息集。那里至少有一个参数。