Когда у меня была ошибка целостности с django / postgreSQL, я делал таблицу DROP TABLE в postgreSQL.
Я просто думаю о нем как об указателе на управление UI. После того как я установил ту умственную связь в своем уме, она имела смысл.
Это - переменная экземпляра, которая обнаруживается в Интерфейсном Разработчике, так, чтобы можно было использовать IB для включения другого объекта в выход.
При загрузке пера загрузочная система пера сделает необходимое волшебство удостовериться, что правильный объект обнаруживается в каждом выходе.
Править: Я намеревался записать полное сообщение в блоге вокруг этого изображения (я передумал после окончания изображения), но даже один, оно должно помочь разъяснить выходы для людей. Вот:
(источник: boredzo.org)
С точки зрения кода и IBOutlet только подсказка для Интерфейсного Разработчика. Это - на самом деле макрос, который не компилирует в, ну, в общем, ничто вообще. Таким образом, компилятор полностью удаляет при компиляции.
Но Интерфейсный Разработчик может просканировать Ваш код для IBOutlet поэтому, когда Вы щелкаете правой кнопкой по объекту в IB, Вы видите все выходы, которые Вы могли подключить к другим объектам.
сопроводительный текст http://img27.imageshack.us/img27/5512/picture820090228.png
В этом примере делегат является членской переменной UIApplication, и это - IBOutlet также.
Я сказал бы, что они - мост, который подключает Ваши объекты пользовательского интерфейса к коду, который использует их. Как имя предлагает, они обеспечивают место для "включения" UI к коду.
IBOutlet
символ, который указывает для Взаимодействия через интерфейс с Разработчиком, которого переменная экземпляра объекта объявила как
IBOutlet id ivar_name;
должен быть представлен как торговая точка экземпляра связанного класса. Это позволяет Вам графически соединять объекты в Интерфейсном Разработчике, таким образом, что, после того, как NIB загружается (т.е. когда объект отправляется -awakeFromNib
сообщение), значение ivar_name будет указателем на объект, который Вы выбрали как значение выхода в Интерфейсном Разработчике.
С точки зрения языка Objective C, IBOutlet
средства ничто.
Ключевое слово IBOutlet определяется следующим образом:
#ifndef IBOutlet
#define IBOutlet
#endif
IBOutlet абсолютно ничего не делает для компилятора. Его единственная цель - действовать как подсказка, чтобы сообщить Interface Builder, что это переменная экземпляра, которую мы собираюсь подключиться к объекту в пике. Любая переменная экземпляра, которую вы создаете и хотите подключению к объекту в файле пера должно предшествовать ключевое слово IBOutlet.
Выход - это вариабельность экземпляра в вашем коде (в X-коде), которые можно назначить ссылку на пользователь Интерфейсный объект (в интерфейсе Builder). Вы подключаете объект пользовательского интерфейса в переменной экземпляра. Назначение указано в файле Nib, созданном интерфейсом Builder.