NSTableView на основе просмотра против NSCollectionView?

Я понял подход к на основе ячеек NSTableView и, кажется, понимаю различия с NSCollectionView.Различия между (на основе ячеек) NSTableView и NSCollectionView

Однако немного менее очевидны различия между на основе представлений NSTableView и NSCollectionView.

С гибкостью NSCollectionView в отображении его элементов (т.е. в макете сетки), который может эмулировать список tableView (сетка с максимальным одним столбцом) и исключая личные предпочтения, зачем кому-то выбирать (на основе представления) NSTableView вместо NSCollectionView?


person Community    schedule 30.03.2012    source источник
comment
Потому что NSCollectionViews — одна из самых запутанных вещей, когда-либо представленных в Cocoa? (Это только мое мнение, конечно.)   -  person Extra Savoir-Faire    schedule 30.03.2012
comment
Одним из аргументов в пользу представлений коллекций по сравнению с табличными представлениями на основе представлений для меня является то, что анимация вставки/удаления приходит «из коробки» и даже работает при привязке представления коллекции к контроллеру.   -  person bijan    schedule 05.05.2012


Ответы (1)


NSCollectionView не использует повторное использование представлений. Это означает, что представление будет создано для каждого отдельного элемента представления коллекции, независимо от того, находится ли представление на экране или нет. Это может снизить вашу производительность при работе с большими наборами данных. Представление на основе NSTableView использует повторное использование представления и очень эффективно, поскольку оно перезапускает ограниченное количество ячеек вместо создания новых для каждого элемента. Не говоря уже о том, что NSCollectionView в целом плохо написан и плохо документирован.

person indragie    schedule 03.02.2013
comment
@ indragie: Confused: Согласно документу Apple здесь: developer.apple.com/library/mac/documentation/AppKit/Reference/, представления перерабатываются в NSCollectionView, и они будут, не так ли? Согласитесь, что NSCollectionView написано плохо. :) - person Sunil Chauhan; 10.06.2016
comment
Просто напишите NSCollectionView для приложения, совместимого с OS X 10.10. И я хотел бы проголосовать за то, что NSCollectionView в целом плохо написан и плохо документирован. Тем не менее, стоит попробовать NSCollectionView OSX10.11, теперь он выглядит намного лучше. - person Adison; 23.08.2016
comment
Переработка представлений реализована начиная с El Capitan - person Lothar; 05.10.2017