Типы привязки

Привязка простого значения

Привязка простого значения является наиболее распространенным типом привязки. Привязка простого значения связывается с единственным значением.

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

Привязка многократного значения

Привязка многократного значения позволяет многократной привязке создаваться для единственной привязки. Создание привязки с первой привязкой автоматически заставляет вторую привязку быть представленной и т.д.

Например, если Вы связываете с enabled при привязке вызывают привязку enabled2 представлен. Если Вы связываете enabled2, объект представит enabled3, и т.д. Все эти обязательные значения тогда используются вместе в возврате окончательного значения привязки.

Привязка многократного значения всегда только для чтения.

Существует четыре изменения привязки многократного значения.

Привязка булевской переменной многократного значения

Привязка булевской переменной многократного значения используется, чтобы определить, является ли объект доступным для редактирования, скрытым, или включил. Получающееся значение привязки получено путем формирования логического AND или логического OR значений представленной привязки. Используемая логическая операция зависит от определенной привязки.

Привязка параметра многократного значения

Стандартный механизм цели/действия Какао обеспечивает средние значения для управления для вызова сообщения, передавая себя как отправитель. Привязка параметра многократного значения расширяет ту возможность, позволяя Вам указать цель при передаче произвольного числа параметров действию. Этот механизм обеспечивает значительно большую гибкость.

Для установки цели и привязки параметра Вы обычно сначала связываете целевую привязку — часто к контроллеру selection или arrangedObjects ключевой путь — и указывает селекторное имя для вызова. Для каждого параметра селектора Вы тогда связываете argument привязка. Когда по управлению щелкают, действие отправляется в цель с указанными параметрами.

Можно указать селекторное имя для любой привязки параметра, и изменение будет распространено повсюду.

Значение с привязкой образца

Привязка образца многократного значения позволяет Вам собирать окончательное значение привязки от многократных строковых значений. Этот образец используется displayPatternValue и displayPatternTitle привязка.

Общее использование привязки образца должно указать размер выбора в контроллере массива в форме “5 из 34 выбранных”. Для реализации этого Вы связали бы displayPatternValue1 к контроллеру с ключевым путем selection.@count, и затем свяжите displayPatternValue2 к контроллеру с ключевым путем contentArray.@count. Вы тогда указываете строку формата путем установки опции образца значения в “%{value1}@ of %{value2}@ selected”.

В строке образца, значении displayPatternValue1 представлен “%{value1}@”, значение displayPatternValue2%{value2}@”, и т.д. В отличие от другой привязки многократного значения, первая привязка образца всегда равняется 1.

Можно указать строку образца для любой привязки значения образца дисплея, и изменение будет распространено повсюду.

Привязка предиката

Привязка предиката многократного значения позволяет Вам создавать всплывающее меню поля поиска, которое является пред заполненный с пунктами меню, соответствующими фильтрам предиката. Каждая привязка предиката соответствует записи во всплывающем меню поля поиска. Эта привязка многократного значения используется NSSearchField predicate привязка.

Строка имени дисплея используется в качестве заголовка пункта меню. Формат предиката является строкой, указывающей предикат для того пункта меню с помощью формата предиката, описанного в Руководстве по программированию Предиката. Любые случаи строки $value в предикате строка формата заменяются содержанием поля поиска.

Например, если у Вас есть элемент всплывающего меню поля поиска под названием «Предмет», который отфильтрует объекты сообщения в контроллере массива на основе значения подчиненного ключа, Вы создали бы предикат следующим образом:

Табличная 1  привязка предиката В качестве примера

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

Значение

Контроллер

messageArrayController

Keypath модели

filterPredicate

Имя дисплея

Предмет

Формат предиката

subject contains $value

Дополнительные поисковые пункты меню могут быть добавлены путем привязки с недавно представленной привязкой, predicate2, predicate3, и т.д.

Привязка только для чтения

Привязка только для чтения является привязкой, принимающей новые значения от наблюдаемого объекта, но не возвращающей изменений, внесенных в то значение.

Как пример, valuePath привязка NSImageView привязка только для чтения. Изменение значения объекта, что этот обязательные ссылки приведут к различному выводимому на экран изображению. Однако изменение изображения путем перетаскивания нового изображения в представление изображения не вызывает значение к который valuePath обязан измениться.