如何获取NSButton的发件人姓名

nod*_*nja 3 cocoa-touch objective-c nsstring sender nsbutton

我有几个NSButton连接到一个IBAction.我需要区分不同按钮之间的方法.我尝试了以下,但它不起作用:

for (int i = 0; i++; i < 7) {
    if (sender == [NSString stringWithFormat:@"button%i", i+1]) 
    {
        NSLog(@"sender is button %i", i+1);
    }
}
Run Code Online (Sandbox Code Playgroud)

怎么能这样做?

Kev*_*imm 5

-(IBAction)buttonPressed:(id)sender
{
    switch ( [sender tag] )
    {
    case 1:
    //blah blah blah
    break;

    case 2:
    //blah blah etc.
    break;
    }
}
Run Code Online (Sandbox Code Playgroud)

我不愿意为你做这项工作,但....

替换这一行

if (sender == [NSString stringWithFormat:@"button%i", i+1]) 
Run Code Online (Sandbox Code Playgroud)

用这条线

if ([sender tag] == i) 
Run Code Online (Sandbox Code Playgroud)

另请注意,for循环的格式无效:

for (int i = 0; i++; i < 7)
Run Code Online (Sandbox Code Playgroud)

S/B:

for (int i = 0; i < 7; i++)
Run Code Online (Sandbox Code Playgroud)