2012-03-30 24 views
6

Ho capito l'approccio alla ponderazione di basato su celle NSTableView e penso di capire le differenze con NSCollectionView. Differences between (cell-based) NSTableView and NSCollectionViewVisualizzazione NSTableView vs NSCollectionView?

Tuttavia, un po 'meno evidente è la differenza tra basate vista NSTableView e NSCollectionView.

Con la flessibilità di NSCollectionView nella visualizzazione degli elementi (cioè in un layout a griglia) che possono emulare un elenco di TableView (una griglia con una colonna massima) ed escludere le preferenze personali, perché qualcuno dovrebbe scegliere (View-based) NSTableView su NSCollectionView?

+1

Perché NSCollectionViews è una delle cose più labili mai introdotte in Cocoa? (Questa è solo la mia opinione, ovviamente.) – trudyscousin

+1

Un argomento pro per le visualizzazioni di raccolte su viewviews basate sulla vista per me è che le animazioni di inserimento/rimozione vengono fuori dalla scatola e funzionano anche quando si associa la vista di raccolta a un controller. – bijan

risposta

9

NSCollectionView non utilizza il riciclaggio delle viste. Ciò significa che verrà creata una vista per ogni singola vista della collezione, indipendentemente dal fatto che la vista sia sullo schermo o meno. Questo può distruggere le tue prestazioni con set di dati di grandi dimensioni. Una vista basata su NSTableView utilizza il riciclaggio delle viste ed è molto efficiente, in quanto ricicla un numero limitato di celle invece di crearne di nuove per ogni articolo. Per non parlare del fatto che lo NSCollectionView è nel complesso una classe mal scritta e scarsamente documentata.

+1

@ indragie: confuso: in base al documento di Apple qui: https://developer.apple.com/library/mac/documentation/AppKit/Reference/NSCollectionViewDataSource_protocol/index.html#//apple_ref/doc/uid/TP40016649-CH1 -SW6, le visualizzazioni vengono riciclate in NSCollectionView e lo faranno, vero? D'accordo che 'NSCollectionView' è scritto male. :) –

+0

Basta scrivere un NSCollectionView per un'applicazione compatibile con OS X 10.10. E vorrei votare "NSCollectionView è nel complesso una classe mal scritta e scarsamente documentata". Tuttavia, NSCollectionView di OSX10.11 potrebbe valere la pena, ora sembra molto meglio. – Adison

+1

Il riciclaggio di punti di vista è implementato da El Capitan – Lothar

Problemi correlati