Иметь более одного NstableView с разным контентом - не отображает данные
-
25-09-2019 - |
Вопрос
У меня две таблицы (один изыскатель и один обычный табличк). Я не использую ArrayControllers, просто использую:
- (id)tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
row:(NSInteger)rowIndex;
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView;
Это отобразить содержимое строки. Но проблема в том, что у меня не только одна табличка - у меня больше, чем один. Поэтому я добавил еще один NSObject с этими кодами внутри. Но содержание не покажет.
Должен ли я использовать ArrayControllers? Или я могу показать содержание второй таблицы по-другому?
Решение
Вам не нужно использовать массивные контроллеры. На самом деле, они даже не существовали для большей части жизни какао. Протокол источника данных работает просто отлично (даже лучше в некоторых случаях).
Вы можете иметь отдельные контроллеры (один для каждой таблицы), конечно, но обратите внимание, что вы получаете ссылку на представление таблицы в каждом из методов источника данных и делегатов (ATABLEVIEW в вашем источнике выше), поэтому вы можете дать другой ответ в зависимости от Взгляд таблицы. Таким образом, один контроллер может быть ответственным за обе таблицы в вашем Master / Detail UI. Другими словами:
Взгляд таблицы: "Что такое столбец a of row 3?"
Ваш контроллер: «Кто спрашивает?»
Что касается ваших данных, не отображаемых, вы создали вам второй контроллер и подключите к нему источник данных таблицы проблем? Вы спрашивали таблицу --релаooaddata? Трудно помочь вам с ограниченной информацией, которую вы предоставили.