我有一个方法:
-(void)pickTheQuiz:(id)sender etat:(int)etatQuiz{
//i need to get the etatQuiz value here
}
在我的代码中的某个地方,我这样调用上面的方法:
int etat_quiz=4;
[button addTarget:self action:@selector(pickTheQuiz:etat:)withObject:etat_quiz forControlEvents:UIControlEventTouchUpInside];
这样做时,出现错误:
Receiver type UIButton for instance message does not declare a method with selector 'addTarget:action:withObject:forControlEvent
编辑:
-(void)pickTheQuiz:(id)sender etat:(int)etatQuiz{
NSLog(@"The part number is:%i",((UIControl*)sender).tag);
}
最佳答案
您不能像这样传递参数。相反,您可以将“ etatQuiz”设置为按钮的标记。并可以在选择器中访问它。
例如:
button.tag = etatQuiz;
[button addTarget:self action:@selector(pickTheQuiz:) forControlEvents:UIControlEventTouchUpInside];
-(void)pickTheQuiz:(UIButton *)sender {
int value = sender.tag;
}
关于objective-c - 用参数调用选择器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9716465/