Я рекомендовал бы Разработчик C++ от Причала, поскольку C++ работает и существует также бесплатная версия доступно. Если Вы предпочитаете Visual Studio, загрузите один из свободных специальные выпуски .
IBAction
и IBOutlet
- это макросы, определенные для обозначения переменных и методов, на которые можно ссылаться в Interface Builder.
IBAction
преобразуется в ] void
и IBOutlet
ничего не разрешает, но они указывают Xcode и построителю интерфейса, что эти переменные и методы могут использоваться в построителе интерфейса для связывания элементов пользовательского интерфейса с вашим кодом.
Если вы ' Если вы вообще не собираетесь использовать Interface Builder, они вам не нужны в вашем коде, но если вы собираетесь его использовать, вам нужно указать IBAction
для методов, которые будут использоваться в IB и IBOutlet
для объектов, которые будут использоваться в IB.
Вам необходимо использовать IBOutlet и IBAction, если вы используете построитель интерфейсов (отсюда и префикс IB) для ваших компонентов графического интерфейса. IBOutlet необходим для связывания свойств в вашем приложении с компонентами в IB, а IBAction используется для того, чтобы ваши методы могли быть связаны с действиями в IB.
Например, предположим, что вы определяете кнопку и метку в IB. Чтобы динамически изменять значение метки, нажимая кнопку, вы определите действие и свойство в своем приложении, подобное:
UILabel IBOutlet *myLabel;
-(IBAction) pushme;
Затем в IB вы должны соединить myLabel с меткой и соединить метод pushme с кнопкой. Чтобы эти соединения существовали в IB, вам потребуются IBAction и IBOutlet.
Интерфейсный разработчик использует их, чтобы определить, какие элементы и сообщения могут быть «связаны» с элементами управления интерфейсом, которые вы используете в своем окне / представлении.
IBOutlet и IBAction используются исключительно в качестве маркеров. которые Interface Builder ищет при анализе вашего кода во время разработки, они не влияют на код, сгенерированный компилятором.
IBAction и IBOutlets используются для соединения вашего интерфейса, созданного в Interface Builder, с вашим контроллером. Если бы вы не использовали Interface Builder и не создавали интерфейс полностью в коде, вы могли бы создать программу без их использования. Но на самом деле большинство из нас использует Interface Builder, и если вы захотите добиться некоторой интерактивности в своем интерфейсе, вам придется использовать IBActions и IBoutlets.