Ковыряюсь под капотом с привязками в Xcode - PullRequest
0 голосов
/ 06 декабря 2009

Давайте возьмем две сущности Core Data, настроенные следующим образом:

Сущность A: Автомобиль

Attributes:
    year
    model
Relationships:
    manufacturer (<<-> Manufacturer)

Предприятие B: Производитель

Attributes:
    name
    country
Relationships:
    cars (<->> Car)

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

Если немного расширить вопрос, как я могу настроить другое табличное представление для отображения, скажем, других Car записей с таким же отношением manufacturer?

1 Ответ

1 голос
/ 07 декабря 2009

Немного больше информации о том, как он настроен в данный момент, будет полезно. Вы должны быть в состоянии связываться с вашим контроллером массива точно так же, как и другие атрибуты, с той же привязкой и ключом контроллера. Просто используйте полный путь ключа manufacturer.name для пути ключа модели.

Для связи со многими вы используете два контроллера массива. Настройте контроллер массива master для подготовки собственного содержимого из класса Core Data Manufacturer (в режиме Entity). Затем вы создаете вторичный, подробный контроллер массива. Оставьте контроллер массива подробностей в режиме Class (с классом NSMutableDictionary по умолчанию) и привяжите его содержимое к контроллеру основного массива с ключом контроллера, установленным в selection, и путем к ключу модели в cars.

Существует множество учебных пособий, которые делают именно это. Я настоятельно рекомендую пробежать один или два; Я нашел этот учебник MacResearch.org особенно полезным. Вся серия великолепна.

...