1

プログラムでボタンを作成し、次のようにボタンにアクションを追加しています:

[button1 addTarget:self action:@selector(button1) forControlEvents:UIControlEventTouchUpInside];

しかし、フォーマット付きの文字列でセレクターに名前を付けたい..私はこのように試しました:

[b4 addTarget:self action:@selector([NSString stringWithFormat@"button%i", i]) forControlEvents:UIControlEventTouchUpInside];

もちろんこれは機能しませんが、これを機能させるために私ができる同様のことはありますか? あなたが私の問題を理解していれば..

4

1 に答える 1

14

これはうまくいきます:

NSString *selName = [NSString stringWithFormat@"button%i", i];
SEL selector = NSSelectorFromString(selName);

[button1 addTarget:self action:selector forControlEvents:UIControlEventTouchUpInside];

しかし、なぜこれをやりたいのかを尋ねなければなりません。複数のボタンを処理しようとしていますか? これは、すべてのボタンに対して 1 つのセレクターで簡単に実行できます。各ボタンに独自のタグを付けます。次に、ボタンセレクターは送信者のタグを確認できます。

于 2013-02-19T17:18:47.860 に答える