Привязка какао
Функция привязки Какао позволяет Вам установить живое соединение между элементом данных и его представлением в представлении. Любое изменение, внесенное в значение данных, или в представлении или в объекте, хранящем данные, автоматически распространяет через соединение.
Используя Какао привязка сокращает код связующего звена, который когда-то необходимо было записать для соединения представления с его базовой моделью. Соедините интерфейсом с Разработчиком, частью XCode, позволяет Вам быстро установить привязку Какао.
Функция привязки Какао нанимает Model-View-Controller (MVC), Объектное моделирование и шаблоны разработки Посредника. В частности привязка устанавливает коммуникацию между атрибутом объекта представления и свойством объекта модели через посреднический объект контроллера.
Несколько технологий включают привязку какао
Функция привязки Какао полагается на несколько технологий, сотрудничающих, чтобы указать, как объекты синхронизируют свои значения через границы MVC:
Привязка значения ключа (KVB). Этот протокол позволяет классу установить и удалить привязку между объектами и распространить привязку, которую он представляет. Объект должен наблюдать за соответствующими изменениями в объекте, с которым он связывается, и реагируйте на те изменения.
Кодирование значения ключа (KVC). Этот протокол указывает, как можно получить доступ к свойству в объекте с помощью имени свойства в качестве ключа к значению свойства. Можно также использовать ключевые пути для следования за отношениями между объектами.
Наблюдение значения ключа (KVO). Этот протокол определяет механизм, через который объект может зарегистрироваться в другом объекте, который будет уведомлен относительно изменений в значении указанного свойства.
Объекты контроллера помогают Вам установить привязку какао
В шаблоне разработки Контроллера представления Модели объект контроллера синхронизирует изменения в представлении данных (уровень представления) с объектами, хранящими те данные (уровень модели), и это передает изменения в хранивших данных к представлению, представляющему данные. Таким образом объект контроллера выступает в качестве посредника.
AppKit предлагает четыре типа объектов контроллера, которые можно использовать неизмененный для установления привязки в приложении. Эти объекты контроллера (каждый из которых наследовался из краткого обзора NSController
класс), доступны в Интерфейсной библиотеке объектов Разработчика:
NSObjectController
управляет единственным объектом модели.NSArrayController
управляет основанным на индексе набором объектов модели и отслеживает текущий выбор.NSTreeController
управляет иерархическим набором объектов модели и отслеживает текущий выбор.NSUserDefaultsController
обеспечивает удобный интерфейс для предпочтительной системы (т.е. для пользовательских значений по умолчанию).
Технически, Вам не нужно NSController
объекты установить привязку; привязка может быть сделана между любыми двумя объектами, при условии, что они совместимы с KVO и KVC. Однако, если Вы не используете NSController
объекты, Вы теряете то, что они предлагают Вам, а именно, заполнителю и значениям текущего выбора и возможности фиксировать и отбросить незаконченные изменения.