Чтобы расширить ответ @ dashblinkenlight в:
IBAction является связью с управления на кусок кода, который запускаемый, когда пользователь запускает, что контроль ,
IBOutlet - это ссылка в другом направлении, от вашего кода до элемента управления.
Вам необходимо определить действие и ссылку из вашего элемента управления в исходный код, если вы хотите, чтобы элемент управления вызывал ваш код, когда пользователь взаимодействует с ним.
Вам необходимо определить выход и ссылку из исходного кода на ваш элемент управления, если вы хотите, чтобы ваш код взаимодействовал с элементом управления.
Поэтому вам иногда нужны оба, как в этом случае.
Интерфейс Builder имеет различные способы определения и соединения розеток. Самое простое, я нахожу, это поместить интерфейс Builder в основную область редактора и настроить помощник редактора в «автоматическом» режиме, чтобы он отображал заголовочный файл для контроллера вида, который определяет выбранный контроллер просмотра.
Затем я управляю перетаскиванием из элемента управления (или другого объекта вида) в файл заголовка и выбираю «выход». Xcode добавляет в исходный код объявление IBOutlet
и делает соединение IBOutlet
.
Я делаю то же самое для определения действий, только на этот раз я говорю IB, чтобы создать действие, а не выход. в этом случае Xcode создает объявление для IBAction enter code here
в файле заголовка, а также пустой метод действия «заглушка» в файле .m.
(если вы используете Swift, то вы не имеете заголовка и реализации файлы, так что нет 2 места, чтобы определить действие.)
Вам нужен выход, а не действие, если вы хотите получить доступ кнопка. – rmaddy
Если я это сделаю, как было бы лучшим способом вызвать функцию уменьшения масштаба нажатием кнопки? – 221b
Действие предназначено для обращения с кнопкой. Выход предназначен для работы с кнопкой. – rmaddy