質問

単一の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, 、そのようにボタンを決定することもできます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top