动作:目标c中的@selector

时间:2012-04-30 07:29:25

标签: objective-c ios button action selector

  

可能重复:
  How can I send two arguments in a selector method?

我正在为按钮编写动作。但是我作为选择器编写的方法有两个参数。我将如何在代码中编写方法名称:     动作:@selector(myMethod的)

2 个答案:

答案 0 :(得分:1)

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

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

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

- (void)myAction {
  [self someMethod:@"first argument" withOtherArg:@"second argument"];
}

答案 1 :(得分:0)

第一件事:在询问新事物之前,你应该接受更多答案,人们往往不会帮助你。

答案:

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