Выходы
Выход является свойством объекта, это ссылается на другой объект. Ссылка архивируется через Интерфейсного Разработчика. Соединения между содержанием объекта и его выходами восстановлены каждый раз, когда содержание объекта разархивировано от его файла пера. Содержание объекта содержит выход, объявленный как свойство со спецификатором типа IBOutlet
и a weak
опция. Например:
@interface AppController : NSObject |
{ |
} |
@property (weak) IBOutlet NSArray *keywords; |
Поскольку это - свойство, выход становится частью инкапсулированных данных объекта и поддерживается переменной экземпляра. Но выход является больше, чем простое свойство. Соединение между объектом и его выходами архивируется в файле пера; когда файл пера загружается, каждое соединение разархивировано и восстановлено и таким образом всегда доступно каждый раз, когда становится необходимо отправить сообщения в другой объект. Спецификатор типа IBOutlet
тег, применился к объявлению свойства так, чтобы Интерфейсное приложение Разработчика могло распознать свойство как выход и синхронизировать дисплей и соединение его с XCode.
Выход объявляется как слабая ссылка (weak
) предотвратить циклы сильной ссылки.
Вы создаете и соединяете выход в функции Interface Builder XCode. Объявление свойства для выхода должно быть тегировано с IBOutlet
спецификатор.
Приложение обычно устанавливает соединения розетки между своими пользовательскими объектами контроллера и объектами в пользовательском интерфейсе, но они могут быть сделаны между любыми объектами, которые могут быть представлены как экземпляры в Интерфейсном Разработчике, даже между двумя пользовательскими объектами. Как с любым элементом объектного состояния, необходимо быть в состоянии выровнять по ширине его включение в класс; чем больше выходов, которые имеет объект, тем больше памяти он приводит в рабочее состояние. Если существуют другие способы получить ссылку на объект, такой как нахождение его через его индексную позицию в матрице, или посредством его включения как параметр функции, или посредством использования тега (присвоенный числовой идентификатор), необходимо сделать это вместо этого.
Выходы являются формой объектного состава, который является динамическим образцом, требующим объекта так или иначе получить ссылки на его составляющие объекты так, чтобы он мог отправить сообщения им. Это обычно содержит эти другие объекты как свойства, поддержанные переменными экземпляра. Эти переменные должны быть инициализированы с надлежащими ссылками в некоторый момент во время выполнения программы.