可能性の重複:
How can I send two arguments in a selector method?アクション:@selector Objective Cの中
私はボタンのアクションを書いています。しかし、セレクタとして書き込むメソッドは、2つのパラメータを取ります。どのように私は、コード内でメソッド名を記述します。 アクション:@selector(MyMethodは)
可能性の重複:
How can I send two arguments in a selector method?アクション:@selector Objective Cの中
私はボタンのアクションを書いています。しかし、セレクタとして書き込むメソッドは、2つのパラメータを取ります。どのように私は、コード内でメソッド名を記述します。 アクション:@selector(MyMethodは)
「アクション」のメソッドに渡される唯一の引数は、アクションをトリガー(それはオプションだ)図であるsender
、です。したがって、アクションメソッドに複数の引数を渡すことはできません。送信する引数が複数存在しないからです。
しかし、アクションから別のメソッドを呼び出すだけで、必要な引数を含めることができます。
- (void)viewDidLoad {
myButton.action = @sel(myAction);
}
- (void)myAction {
[self someMethod:@"first argument" withOtherArg:@"second argument"];
}
まず最初:あなたが新しい何かを尋ねる前に、より多くの答えを受け入れる必要があり、人々はあなたを助けない傾向があります。
答え:
あなたはあなただけ渡すための一つのパラメータ(辞書自体を)持っています離れparameters.Thisとして渡したい2つの値を置くことができ、辞書を使用してください。コードがより洗練され、将来的に必要になった場合に、より多くのパラメータを渡す柔軟性を提供します。いくつかのコメントを残すことを忘れないでください、あなたは辞書の中に何を入れているのか忘れないでください。
私はuibuttonはそれ自身を送信すると思うので、この解決策は不可能です。 (もちろんそれをサブクラス化しない限り) – Pochi
-1このユーザーは質問を動的に変更できます。 – Dinesh
これは不可能です。パラメータは1つのみ使用できます。そして、btw、その質問は、ここにたくさんの時間を尋ねられています。 – Till
@Dineshすべてのユーザーができます - 5分以内に、編集イベントをトリガーすることなく行うことができます。 – Till