Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 基于视图的NSTableView与NSCollectionView?_Cocoa_Nstableview_Nscollectionview - Fatal编程技术网

Cocoa 基于视图的NSTableView与NSCollectionView?

Cocoa 基于视图的NSTableView与NSCollectionView?,cocoa,nstableview,nscollectionview,Cocoa,Nstableview,Nscollectionview,我已经了解了基于cell的NSTableView的飞重方法,并且我认为我理解了与NSCollectionView的区别 然而,基于视图的NSTableView和NSCollectionView之间的差异不太明显 NcollectionView在显示其项目(即网格布局)时具有灵活性,可以模拟tableView的列表(最多一列的网格)并排除个人首选项,为什么有人会选择(基于视图的)NtableView而不是NcollectionView?NcollectionView不使用视图循环。这意味着无论视图

我已经了解了基于cell的NSTableView的飞重方法,并且我认为我理解了与NSCollectionView的区别

然而,基于视图的NSTableView和NSCollectionView之间的差异不太明显


NcollectionView在显示其项目(即网格布局)时具有灵活性,可以模拟tableView的列表(最多一列的网格)并排除个人首选项,为什么有人会选择(基于视图的)NtableView而不是NcollectionView?

NcollectionView不使用视图循环。这意味着无论视图是否在屏幕上,都将为每个集合视图项创建一个视图。这可能会破坏大型数据集的性能。基于视图的
NSTableView
使用视图回收,非常有效,因为它回收有限数量的单元格,而不是为每个项目创建新的单元格。更不用说,
NSCollectionView
总体上是一个写得不好、文档记录不好的类。

因为NSCollectionView是Cocoa中引入的最精细的东西之一?(当然,这只是我的观点。)对我来说,集合视图优于基于视图的表视图的一个支持论点是,在将集合视图绑定到控制器时,插入/删除动画是现成的,甚至可以工作。@indragie:fuzzle:根据apple的文档:,视图正在NSCollectionView中循环,它们会,不是吗?同意
NSCollectionView
写得不好。:)只需为与OS X 10.10兼容的应用程序编写一个NSCollectionView。我想投票表决“总的来说,NSCollectionView是一个写得很差、文档记录也很差的类”。然而,OSX10.11的NSCollectionView可能值得一试,它现在看起来好多了