Как я могу узнать, какую кнопку я нажал, чтобы начать действие внутри программы? - PullRequest
1 голос
/ 14 мая 2010

У меня есть 3 кнопки, которые вызывают одну и ту же функцию. Я хочу знать внутри функции, какая кнопка вызывала ее. Можно ли это узнать?

1 Ответ

6 голосов
/ 14 мая 2010

Да, вы можете использовать аргумент sender. Если у вас есть IBOutlet с именем buttonOne, вы можете проверить метод IBAction следующим образом:

- (IBAction) buttonClicked:(id) sender
{
    if (sender == buttonOne)
    {
        NSLog(@"Button one was pressed.");
    }
}

В качестве альтернативы назначьте каждой из ваших кнопок tag и используйте свойство tag отправителя (в следующем примере предполагается, что buttonOne было присвоено значение тега & ldquo; 1 & rdquo;):

- (IBAction) buttonClicked:(id) sender
{
    if ([sender tag] == 1)
    {
        NSLog(@"Button one was pressed.");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...