0

我想在@selectoraUIButton的操作中硬编码一个值。

在内部添加值时,@selector我收到一条错误消息: 错误

这是您通常将 a 添加@selector到 a 的方式UIButton

[myButton addTarget:self action:@selector(myFunction::) forControlEvents:UIControlEventTouchDown];

这就是我想要做的:

[myButton addTarget:self action:@selector(myFunction:1:) forControlEvents:UIControlEventTouchDown];

如何才能做到这一点?

编辑: rmaddy在这里指出了一个很好的答案:perfomSelector on button and sent parameters

4

2 回答 2

2

你不能那样做。在抽象中,选择器只是一个字符串,表示您要调用的方法的名称。在这种情况下,框架决定将什么传递给它。

你想用这个来完成什么?根据答案,您可能可以在选择器方法中使用对象引用 (myButton) 本身进行比较,或者您可以在按钮的方法内设置标记值来代替硬连线数字。

于 2013-07-31T00:14:27.790 回答
0

我要做的是向按钮 myButton 添加一个标签并将其设置为 1。然后在函数 myFunction id 中执行以下操作:

-(void)myFunction:(UIButton *)button {
    NSLog(@"%i", button.tag);                // will output 1
}

所以选择器应该是这样的:@selector(myFunction:)

于 2013-07-31T00:24:25.613 回答