Имейте больше чем один NSTableView с различным Контентом - не отображает данные - PullRequest
0 голосов
/ 07 апреля 2010

У меня есть два TableViews (один SourceList и один Normal TableView). Я не использую ArrayControllers, просто использую:

- (id)tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
            row:(NSInteger)rowIndex;

- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView;

это для отображения содержимого строки. Но проблема в том, что у меня есть не только один TableView - у меня более одного. Поэтому я добавил еще один объект NSO с этими кодами внутри. Но Контент не будет отображаться.

Должен ли я использовать ArrayControllers? Или я могу показать содержимое второго табличного представления по-другому?

1 Ответ

0 голосов
/ 07 апреля 2010

Вам не нужно использовать контроллеры массива.На самом деле, они даже не существовали большую часть жизни Какао.Протокол источника данных работает просто отлично (в некоторых случаях даже лучше).

Конечно, вы можете иметь отдельные контроллеры (по одному для каждой таблицы), но обратите внимание, что вы получаете ссылку на представление таблицы в каждой из данных.методы источника и делегата (aTableView в вашем источнике выше), поэтому вы можете давать разные ответы в зависимости от табличного представления.Таким образом, один контроллер может отвечать за обе таблицы в вашем основном / подробном пользовательском интерфейсе.Другими словами:

Представление таблицы: «Что такое столбец A строки 3?»

Ваш контроллер: «Кто спрашивает?»

Что касается данных, которые не отображаются, высоздать экземпляр вашего второго контроллера и подключить к нему источник данных таблицы проблем?Вы просили таблицу -reloadData?Сложно помочь вам с предоставленной вами ограниченной информацией.

...