ボタンのアクションを書いています。しかし、セレクターとして記述したメソッドは 2 つのパラメーターを取ります。コードにメソッド名をどのように記述しますか:
action:@selector(myMethod)
ボタンのアクションを書いています。しかし、セレクターとして記述したメソッドは 2 つのパラメーターを取ります。コードにメソッド名をどのように記述しますか:
action:@selector(myMethod)
「action」メソッドに渡される唯一の引数はsender
、アクションをトリガーしたビューです(これはオプションです)。したがって、送信する引数が複数ないため、アクションメソッドに複数の引数を渡すことはできません。
ただし、アクションから別のメソッドを呼び出すだけで、必要な引数を含めることができます。
- (void)viewDidLoad {
myButton.action = @sel(myAction);
}
- (void)myAction {
[self someMethod:@"first argument" withOtherArg:@"second argument"];
}
まず第一に、何か新しいことを尋ねる前に、もっと多くの答えを受け入れるべきです。人々はあなたを助けない傾向があります。
答え:
渡したい2つの値をパラメーターとして入れることができる辞書を使用します。これにより、渡すパラメーターは1つだけになります(辞書自体)。これにより、コードがよりクリーンになり、将来必要になった場合に、より多くのパラメーターを渡す柔軟性が得られます。コメントを残すことを忘れないでください。そうすれば、辞書に何を入れているかを忘れないでください。