[Копирование мой ответ на другой вопрос …]
Ключ контроллера - это ключ для (свойства объекта контроллера), к которому вы привязываетесь. Путь ключа модели - это путь ключа, по которому связанный объект может запрашивать объекты модели для более базовых объектов, таких как строки или изображения, или для других объектов модели (т. Е. Углубляться в модель).
Пример. Допустим, у вас есть объекты Person в контроллере массива, и у каждого Person есть name
. Вы связываете столбец таблицы с контроллером массива, ключом контроллера arrangedObjects
(получая таким образом объекты модели), путь ключа модели name
(таким образом получая объекты значений).
Более сложный пример. Предположим, у вас есть контроллер массива Департаментов. В каждом отделе есть Персоны (сотрудники отдела). Вы можете привязать контроллер массива People к контроллеру Departments, ключ контроллера arrangedObjects
(получение объектов модели Department), путь ключа модели @distinctUnionOfObjects.employees
(получение объектов модели Person), а затем привязать столбец таблицы к контроллеру People, ключ контроллера arrangedObjects
, путь ключа модели name
.
Этот стол будет для людей, которые работают на вашу компанию; если у вас есть отдельная таблица предполагаемых сотрудников, вы также можете создавать для них объекты Person, и они не будут отображаться в таблице существующих сотрудников, потому что они не находятся в отделе. Когда вы нанимаете их, вы добавляете их в один или несколько отделов; затем они будут автоматически отображаться в контроллере массива People, поскольку этот контроллер массива наблюдает за employees
всех отделов.