创建基于视图的表时使用 NSTableCellView 有什么意义?

What is the point of using NSTableCellView when creating view-based tables?

当您在 Xcode 的界面构建器中创建基于视图的 table 视图时,它会自动添加一个 NSTableCellView 控件,其中有一个 NSTextField控制。您最好为您的文本字段控件添加约束,否则当您调整列大小时它不会正确调整大小。

但事实证明 NSTableCellView 控件是不必要的。您可以只使用 NSTextField 控件或您喜欢的任何视图来代替它。而且您不需要添加约束;控件将自动调整大小。那么使用 NSTableCellView 控件有什么意义呢?

当您的单元格是复合视图时适用。例如,当您有图像和文本标签,或更复杂的层次结构时。

当您的单元格视图是多视图层次结构时,您需要一个容器视图。这不一定是 NSTableCellView,但 NSTableCellView 提供了一些很好的便利,例如 objectValue 属性 以及 imageView 和 [=14] 的出口=].