Главный подробный интерфейс с несколькими представлениями таблицы подробностей, такими как Mail.app

У меня есть приложение Cocoa с таким же макетом, как Mail.app:

  • Список источников слева, где пользователь может выбрать одну из нескольких записей.
  • Представление подробной таблицы в области основного содержимого, показывающее список, основанный на выбранном элементе слева.

Я хотел бы, чтобы выбор в представлении таблицы сведений сохранялся отдельно для каждого основного элемента.

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

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

Есть ли более простой способ/рекомендуемый шаблон для этого?


person Mark    schedule 06.02.2012    source источник


Ответы (1)


Вам нужен контроллер массива для каждой таблицы. Для каждого контроллера массива деталей необходимо привязать привязку contents к клавише selectedObjects главного контроллера массива.

Таким образом, если у вас есть три контроллера массива, master, detail1 и detail2, то привязка content для detail1 должна быть установлена ​​на master с использованием ключевого пути selectedObjects.

Привязка content для detail2 должна быть установлена ​​на detail1, также используя ключевой путь selectedObjects.

Вам не нужно изменять привязку contents программно.

person Rob Keniger    schedule 06.02.2012
comment
Означает ли это, что мне также нужна отдельная таблица для каждой записи в главном списке? Я хотел бы избежать этого. Кроме того, зачем мне привязывать detail2 к detail1? - person Mark; 06.02.2012