В чем разница между NSTableView и NSTableView на основе ячеек? - программирование
Подтвердить что ты не робот

В чем разница между NSTableView и NSTableView на основе ячеек?

Если мое понимание не является ошибочным, NSTableView на основе ячеек и NSTableView, основанный на представлении, - это тот же тип экземпляра. Затем, как cpu отличает основанную на ядре и основанную на представлении?

Насколько я знаю, метод делегирования отличается от метода на основе ячеек и представлений. Для NSTableView на основе ячеек требуется tableView:objectValueForTableColumn:row:, а NSTableView на основе просмотра - tableView:viewForTableColumn:row:. Есть ли что-нибудь, что решает экземпляр NSTableView вести себя на основе ячеек или на основе представления?

4b9b3361

Ответ 1

В дополнение к следующему описанию я предлагаю вам пройти http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/TableView/Introduction/Introduction.html

В OS X версии 10.6 и ранее каждая отдельная ячейка в представлении таблицы должна была быть подклассом NSCell. Этот подход вызвал определенные ограничения при разработке сложных пользовательских ячеек, что требует от разработчика создания собственного подкласса NSCell. Кроме того, предоставление анимации, например, представлений о прогрессе, было чрезвычайно сложным.

В OS X версии 10.7 просмотры таблиц были переработаны и теперь поддерживают использование представлений как отдельных ячеек. Они называются представлениями на основе представления. Представления таблиц, основанные на просмотре, позволяют создавать пользовательские ячейки в разделе Interface Builder для Xcode 4.0. Это позволяет легко планировать время, а также упрощает анимацию изменений и настройку чертежа. Как и в табличных представлениях сотовой ячейки, представления таблиц на основе представления поддерживают выбор, перетаскивание столбцов и другое поведение, ожидаемое пользователем в виде таблицы. Единственное отличие заключается в том, что разработчику предоставляется гораздо больше гибкости в дизайне и реализации.

Создание представлений таблиц на основе таблиц и табличных таблиц и добавление столбцов используют те же методы в Interface Builder. Различия возникают в вашем коде приложения при предоставлении отдельных ячеек, заполнении содержимого табличного представления и настройке внешнего вида таблицы. Кроме того, методы привязки Cocoa полностью различаются между двумя реализациями.