IBAction
(и IBOutlet
) просто используется, чтобы сообщить Интерфейсному Разработчику XCode (IB
), что существует функция. Если вы хотите использовать void
, хорошо, но вы не получите функцию, показанную в Интерфейсном Разработчике.
IBAction - это специальное ключевое слово, которое используется только для указания Xcode ( Interface Builder ), чтобы он рассматривал метод как действие для соединений с целевым действием. IBAction определяется как void .
IBOutlet - это специальное ключевое слово, которое используется только для указания Xcode ( Interface Builder ), чтобы он рассматривал объект как выход. На самом деле он определен как ничего, поэтому он не имеет никакого эффекта во время компиляции.
Вы можете установить функцию (которая определяется с помощью void
, и заметка IBAction
тоже в порядке, но здесь нет необходимости) для вашей целевой кнопки следующим образом:
[yourButton addTarget:self action:@selector(yourButtonFunction:) forControlEvents:UIControlEventTouchUpInside];
Как правило, если вы создаете свой код программно (без использования Interface Builder XCode), вам больше не нужны IBOutlet
или IBAction
. ;)