-5

可能重复:
如何在选择器方法中发送两个参数?

我正在为按钮编写一个动作。但是我作为选择器编写的方法需要两个参数。我将如何在代码中编写方法名称:

action:@selector(myMethod)
4

2 回答 2

1

传递给“动作”方法的唯一参数是sender,它是触发动作的视图(它是可选的)。所以你不能将多个参数传递给一个动作方法,因为没有多个参数要发送。

但是您可以简单地从您的操作中调用另一个方法,该方法可以包含您想要的任何参数。

- (void)viewDidLoad {
  myButton.action = @sel(myAction);
}

- (void)myAction {
  [self someMethod:@"first argument" withOtherArg:@"second argument"];
}
于 2012-04-30T07:37:37.400 回答
0

第一件事:在提出新问题之前,您应该接受更多答案,人们往往不会帮助您。

答案:

使用字典,您可以在其中放置要作为参数传递的 2 个值。这样一来,您将只有一个要传递的参数(字典本身)。它使代码更清晰,并让您可以灵活地在将来需要时传递更多参数。别忘了留下一些评论,这样你就不会忘记你在字典里放了什么。

于 2012-04-30T07:38:57.463 回答