iOS - UIButton操作的选择器中的硬编码值

时间:2013-07-31 00:08:40

标签: ios objective-c selector hardcode

我想在@selector的{​​{1}}行动的UIButton内硬编码。

@selector内添加值时,我收到错误消息: Error

通常会将@selector添加到UIButton

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

这就是我想要做的事情:

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

如何做到这一点?

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

2 个答案:

答案 0 :(得分:2)

你做不到。在摘要中,选择器只是一个字符串,表示要调用的方法的名称。在这种情况下,框架决定传递给它的内容。

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

答案 1 :(得分:0)

我要做的是在myButton按钮上添加一个标签并将其设置为1.然后在函数myFunction id中这样做:

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

所以选择器应如下所示:@selector(myFunction:)