IBOutlet и IBAction

Я рекомендовал бы Разработчик C++ от Причала, поскольку C++ работает и существует также бесплатная версия доступно. Если Вы предпочитаете Visual Studio, загрузите один из свободных специальные выпуски .

155
задан Simon 25 February 2013 в 04:59
поделиться

4 ответа

IBAction и IBOutlet - это макросы, определенные для обозначения переменных и методов, на которые можно ссылаться в Interface Builder.

IBAction преобразуется в ] void и IBOutlet ничего не разрешает, но они указывают Xcode и построителю интерфейса, что эти переменные и методы могут использоваться в построителе интерфейса для связывания элементов пользовательского интерфейса с вашим кодом.

Если вы ' Если вы вообще не собираетесь использовать Interface Builder, они вам не нужны в вашем коде, но если вы собираетесь его использовать, вам нужно указать IBAction для методов, которые будут использоваться в IB и IBOutlet для объектов, которые будут использоваться в IB.

204
ответ дан 23 November 2019 в 21:55
поделиться

Вам необходимо использовать IBOutlet и IBAction, если вы используете построитель интерфейсов (отсюда и префикс IB) для ваших компонентов графического интерфейса. IBOutlet необходим для связывания свойств в вашем приложении с компонентами в IB, а IBAction используется для того, чтобы ваши методы могли быть связаны с действиями в IB.

Например, предположим, что вы определяете кнопку и метку в IB. Чтобы динамически изменять значение метки, нажимая кнопку, вы определите действие и свойство в своем приложении, подобное:

UILabel IBOutlet *myLabel;
-(IBAction) pushme;

Затем в IB вы должны соединить myLabel с меткой и соединить метод pushme с кнопкой. Чтобы эти соединения существовали в IB, вам потребуются IBAction и IBOutlet.

32
ответ дан 23 November 2019 в 21:55
поделиться

Интерфейсный разработчик использует их, чтобы определить, какие элементы и сообщения могут быть «связаны» с элементами управления интерфейсом, которые вы используете в своем окне / представлении.

IBOutlet и IBAction используются исключительно в качестве маркеров. которые Interface Builder ищет при анализе вашего кода во время разработки, они не влияют на код, сгенерированный компилятором.

6
ответ дан 23 November 2019 в 21:55
поделиться

IBAction и IBOutlets используются для соединения вашего интерфейса, созданного в Interface Builder, с вашим контроллером. Если бы вы не использовали Interface Builder и не создавали интерфейс полностью в коде, вы могли бы создать программу без их использования. Но на самом деле большинство из нас использует Interface Builder, и если вы захотите добиться некоторой интерактивности в своем интерфейсе, вам придется использовать IBActions и IBoutlets.

3
ответ дан 23 November 2019 в 21:55
поделиться