基于视图和单元格的NSTableView

时间:2015-07-09 16:28:20

标签: macos cocoa nstableview appkit

Cocoa中基于单元格和基于视图的表格视图之间的主要区别是什么。

我的理解是基于单元格的表视图基本上用于显示字符串,而基于视图的用于自定义单元格。用户事件(如拖动行,选择等)可以在视图中处理。

基于单元格的表视图使用objectValueForTableColumn:方法和基于视图的表使用viewForTableColumn:方法。

我的理解是否正确?或者是这些表视图之间的任何其他设计问题。什么时候去基于单元格,何时去基于视图。

提前致谢

2 个答案:

答案 0 :(得分:5)

简短回答:

单元格只能包含一个UI元素,如文本单元格,图像视图单元格,按钮单元格等等。定制能力很差。

视图可以包含多个UI元素以及其他视图。定制能力几乎是无限的。

Apple建议始终使用基于视图的表格视图

答案 1 :(得分:4)

NSCell是一个重量较轻的对象,当涉及到太多NSView对象时,它是一个解决方案。 想想十多年前。 不推荐使用单元格。 使用视图。