可能重复:
如何在选择器方法中发送两个参数?
我正在为按钮编写一个动作。但是我作为选择器编写的方法需要两个参数。我将如何在代码中编写方法名称:
action:@selector(myMethod)
传递给“动作”方法的唯一参数是sender
,它是触发动作的视图(它是可选的)。所以你不能将多个参数传递给一个动作方法,因为没有多个参数要发送。
但是您可以简单地从您的操作中调用另一个方法,该方法可以包含您想要的任何参数。
- (void)viewDidLoad {
myButton.action = @sel(myAction);
}
- (void)myAction {
[self someMethod:@"first argument" withOtherArg:@"second argument"];
}
第一件事:在提出新问题之前,您应该接受更多答案,人们往往不会帮助您。
答案:
使用字典,您可以在其中放置要作为参数传递的 2 个值。这样一来,您将只有一个要传递的参数(字典本身)。它使代码更清晰,并让您可以灵活地在将来需要时传递更多参数。别忘了留下一些评论,这样你就不会忘记你在字典里放了什么。