Вы привязываете объект вида к свойству модели. Нечто подобное (схематично):
myTextField.value <=> myModel.textValue.
В то время как вы можете связать свойство вида непосредственно к свойству вашей модели объекта, как показано выше, вы действительно не должны. Вы пропустили бы приятные функции, предоставляемые контроллерами Apple (например, NSObjectController
, NSArrayController
и т. Д.). Вместо этого вы должны связать свой взгляд на контроллер, который привязан к модели, как:
myTextField.value <=> myObjectController.selection.textValue
and
myObjectController.contentObject <=> myModel
В этой установке myObjectController.selection является Key-Value связывании совместимый прокси-сервер для myObjectController.contentObject и myObjectController может выступать в качестве посредник между представлением и моделью. Интерфейс Builder делает это разделение проблем явным, потому что контроллеры могут выставлять несколько прокси для своей связанной модели (например, NSArrayController
arrangedObjects
и selectedObjects
). При привязке myTextField.value в приведенном выше примере вы должны ввести «выбор» в поле «Controller Key» и «textValue» в поле пути «Путь к объекту« Model Object Keypath ».
Дубликат http://stackoverflow.com/questions/595257/ –