送信者のnsbuttonの名前を取得する方法
-
09-10-2019 - |
質問
単一のibactionに接続されているいくつかのnsbuttonsがあります。さまざまなボタン間でメソッド内で区別する必要があります。私は次のことを試しましたが、それは機能しません:
for (int i = 0; i++; i < 7) {
if (sender == [NSString stringWithFormat:@"button%i", i+1])
{
NSLog(@"sender is button %i", i+1);
}
}
これをどのように機能させることができますか?
解決
-(IBAction)buttonPressed:(id)sender
{
switch ( [sender tag] )
{
case 1:
//blah blah blah
break;
case 2:
//blah blah etc.
break;
}
}
私はあなたのために仕事をすることを嫌いますが、....
この行を交換してください
if (sender == [NSString stringWithFormat:@"button%i", i+1])
この行で
if ([sender tag] == i)
また、forループの形式は無効であることに注意してください。
for (int i = 0; i++; i < 7)
S/B:
for (int i = 0; i < 7; i++)
他のヒント
btnclickedアクションの送信者は、クリックされたボタンオブジェクトです。それから、必要な情報を取得できるはずです
-(IBAction) btnClicked: (id) sender {
NSLog(@"Button clicked %@", sender);
// Do something here with the variable 'sender'
}
値を保存する場合 sender.tag
, 、そのようにボタンを決定することもできます
所属していません StackOverflow