Привязка какао

Функция привязки Какао позволяет Вам установить живое соединение между элементом данных и его представлением в представлении. Любое изменение, внесенное в значение данных, или в представлении или в объекте, хранящем данные, автоматически распространяет через соединение.

Используя Какао привязка сокращает код связующего звена, который когда-то необходимо было записать для соединения представления с его базовой моделью. Соедините интерфейсом с Разработчиком, частью XCode, позволяет Вам быстро установить привязку Какао.

Art/cocoa_bindings.jpg

Функция привязки Какао нанимает Model-View-Controller (MVC), Объектное моделирование и шаблоны разработки Посредника. В частности привязка устанавливает коммуникацию между атрибутом объекта представления и свойством объекта модели через посреднический объект контроллера.

Несколько технологий включают привязку какао

Функция привязки Какао полагается на несколько технологий, сотрудничающих, чтобы указать, как объекты синхронизируют свои значения через границы MVC:

  • Привязка значения ключа (KVB). Этот протокол позволяет классу установить и удалить привязку между объектами и распространить привязку, которую он представляет. Объект должен наблюдать за соответствующими изменениями в объекте, с которым он связывается, и реагируйте на те изменения.

  • Кодирование значения ключа (KVC). Этот протокол указывает, как можно получить доступ к свойству в объекте с помощью имени свойства в качестве ключа к значению свойства. Можно также использовать ключевые пути для следования за отношениями между объектами.

  • Наблюдение значения ключа (KVO). Этот протокол определяет механизм, через который объект может зарегистрироваться в другом объекте, который будет уведомлен относительно изменений в значении указанного свойства.

Объекты контроллера помогают Вам установить привязку какао

В шаблоне разработки Контроллера представления Модели объект контроллера синхронизирует изменения в представлении данных (уровень представления) с объектами, хранящими те данные (уровень модели), и это передает изменения в хранивших данных к представлению, представляющему данные. Таким образом объект контроллера выступает в качестве посредника.

AppKit предлагает четыре типа объектов контроллера, которые можно использовать неизмененный для установления привязки в приложении. Эти объекты контроллера (каждый из которых наследовался из краткого обзора NSController класс), доступны в Интерфейсной библиотеке объектов Разработчика:

  • NSObjectController управляет единственным объектом модели.

  • NSArrayController управляет основанным на индексе набором объектов модели и отслеживает текущий выбор.

  • NSTreeController управляет иерархическим набором объектов модели и отслеживает текущий выбор.

  • NSUserDefaultsController обеспечивает удобный интерфейс для предпочтительной системы (т.е. для пользовательских значений по умолчанию).

Технически, Вам не нужно NSController объекты установить привязку; привязка может быть сделана между любыми двумя объектами, при условии, что они совместимы с KVO и KVC. Однако, если Вы не используете NSController объекты, Вы теряете то, что они предлагают Вам, а именно, заполнителю и значениям текущего выбора и возможности фиксировать и отбросить незаконченные изменения.

Категорическое обсуждение

    Привязка какао, программируя темы

Проекты примера кода

  • BindingsJoystick
  • Простое принятие привязки