-5

重複の可能性:
セレクター メソッドで 2 つの引数を送信するにはどうすればよいですか?

ボタンのアクションを書いています。しかし、セレクターとして記述したメソッドは 2 つのパラメーターを取ります。コードにメソッド名をどのように記述しますか:

action:@selector(myMethod)
4

2 に答える 2

1

「action」メソッドに渡される唯一の引数はsender、アクションをトリガーしたビューです(これはオプションです)。したがって、送信する引数が複数ないため、アクションメソッドに複数の引数を渡すことはできません。

ただし、アクションから別のメソッドを呼び出すだけで、必要な引数を含めることができます。

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

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

まず第一に、何か新しいことを尋ねる前に、もっと多くの答えを受け入れるべきです。人々はあなたを助けない傾向があります。

答え:

渡したい2つの値をパラメーターとして入れることができる辞書を使用します。これにより、渡すパラメーターは1つだけになります(辞書自体)。これにより、コードがよりクリーンになり、将来必要になった場合に、より多くのパラメーターを渡す柔軟性が得られます。コメントを残すことを忘れないでください。そうすれば、辞書に何を入れているかを忘れないでください。

于 2012-04-30T07:38:57.463 に答える