你好任何人都可以告诉我如何向选择器发送多个参数。我以编程方式创建了一个按钮,我想发送该按钮选择器的三个参数。请帮帮我。
下面是我写的代码:
UIButton *addButtonObj = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[addButtonObj addTarget:self action:@selector(aMethod:)forControlEvents:UIControlEventTouchUpInside];
[addButtonObj setTitle:component.componentValue forState:UIControlStateNormal];
aMethod
是我的方法名称,我想向此发送多个参数。
答案 0 :(得分:1)
将目标添加到UIButton
时,传递数据有三种可能性:
- (IBAction)aMethod; // no data passed
- (IBAction)aMethod:(id)sender; // passed sender obj
- (IBAction)aMethod:(id)sender forEvent:(UIEvent *)event; // passed sender obj + event
您可以为您的按钮添加标签,并在aMethod:
方法中提出要求:
- (IBAction)aMethod:(id)sender {
UIButton *theButton = (UIButton*)sender;
if(theButton.tag == 42) {
// call my fancy method with 3 params!
}
}
也许你应该提供更多关于你最终想要实现的细节:)。
最诚挚的问候, 基督教
答案 1 :(得分:0)
[yourButton addTarget:self action:@selector(buttonPress:) forControlEvents:UIControlEventTouchUpInside];
但是按钮操作的目标可能会收到一个id(通常名为sender)。
- (void) buttonPress:(id)sender;
在方法调用中,发件人应该是您案例中的按钮,允许您读取其名称,标签等属性。