2012-03-30 3 views
6

셀 기반 의 플라이 - 웨이트 방식을 이해했습니다. NSTableView와 나는 NSCollectionView와의 차이점을 이해하고 있다고 생각합니다. Differences between (cell-based) NSTableView and NSCollectionView뷰 기반 NSTableView 대 NSCollectionView?

그러나, 조금 덜 명백한 보기 기반 NSTableView는 NSCollectionView과의 차이점이다.

NSCollectionView에서 tableView의 목록 (최대 열이 1 개인 표)을 에뮬레이트 할 수있는 항목 (예 : 격자 레이아웃)을 유연하게 표시하고 개인 설정을 제외하면 NSCollectionView에서 NSTableView를 선택하는 이유는 무엇입니까?

+1

NSCollectionViews는 Cocoa에서 도입 된 가장 까다로운 것들 중 하나이기 때문에? (그건 내 의견 일뿐입니다.) – trudyscousin

+1

콜렉션 뷰의 뷰 기반 테이블 뷰에 대한 하나의 논쟁은 컬렉션 뷰를 컨트롤러에 바인딩 할 때 애니메이션을 삽입/제거하고 작업 할 때조차도 작동한다는 것입니다. – bijan

답변

9

NSCollectionView보기 재활용을 사용하지 않습니다. 즉,보기가 화면에 있는지 여부에 관계없이 모든 단일 컬렉션보기 항목에 대해보기가 만들어집니다. 이로 인해 대용량 데이터 세트로 성능이 저하 될 수 있습니다. 보기 기반 NSTableView은보기 재활용을 사용하며 모든 항목에 대해 새 셀을 만드는 대신 제한된 수의 셀을 재활용하므로 매우 효율적입니다. NSCollectionView은 전반적으로 잘 작성되지 않았으며 문서화가 잘되어 있지 않은 클래스입니다.

+1

@ indragie : 혼란스러워 : 사과의 문서에 따르면 https://developer.apple.com/library/mac/documentation/AppKit/Reference/NSCollectionViewDataSource_protocol/index.html#//apple_ref/doc/uid/TP40016649-CH1 -SW6, 뷰가 NSCollectionView에서 재활용되고 있으며, 그렇지 않습니까? 'NSCollectionView'가 제대로 작성되지 않았다고 동의합니다. :) –

+0

OS X 10.10 호환 응용 프로그램 용 NSCollectionView를 작성하기 만하면됩니다. 그리고 "NSCollectionView는 전반적으로 저조하고 문서화가 잘 안된 수업입니다"라고 투표하고 싶습니다. 그러나 OSX10.11의 NSCollectionView를 사용해 볼 가치가 있습니다. – Adison

+1

엘 캐피 탄 이후보기의 재활용 – Lothar