我想在@selector
的{{1}}行动的UIButton
内硬编码。
在@selector
内添加值时,我收到错误消息:
通常会将@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
答案 0 :(得分:2)
你做不到。在摘要中,选择器只是一个字符串,表示要调用的方法的名称。在这种情况下,框架决定传递给它的内容。
你想用这个来完成什么?根据答案,您可以在选择器方法中使用对象引用(myButton)本身进行比较,或者您可以在按钮上的方法内设置标记值来代替硬连线数字。
答案 1 :(得分:0)
我要做的是在myButton按钮上添加一个标签并将其设置为1.然后在函数myFunction id中这样做:
-(void)myFunction:(UIButton *)button {
NSLog(@"%i", button.tag); // will output 1
}
所以选择器应如下所示:@selector(myFunction:)