我的iPhone应用程序有很多按钮,我希望所有的按钮调用相同的方法,但使用不同的参数.
例如,我想点击一个按钮来调用myMethod方法:使用参数@“foo”,第二个按钮应该调用相同的方法,但使用参数@“bar”.
解决方法
所谓的“IBActions”必须具有以下签名之一:
-(void)action; -(void)actionWithSender:(id)sender; -(void)actionWithSender:(id)sender event:(UIEvent*)event;
您不能添加任何其他参数.然而,您可以使用发件人(在您的情况下为button1或button2)来获取参数:
-(void)actionWithSender:(UIButton*)sender { NSString* parameter; if (sender.tag == 1) // button1 parameter = @"foo"; else // button2 parameter = @"bar"; ... }