如何在基于视图的NSTableView中设置NSTableColumn的列名?

时间:2014-08-15 02:28:03

标签: cocoa nstableview nstablecolumn nstableheaderview nstableheadercell

我以编程方式创建了一个NSTableView并添加了一个列(NSTableColumn的一个实例)。如何设置此列的名称(默认情况下,它名为“Field”)?在NSTableColumn中有一个带签名的方法

- (void)setHeaderCell:(NSCell *)aCell

但“[t]他的方法仅对基于单元格的表格视图有效”,我正在使用基于视图的表格视图。

NSTableView本身包含一个NSTableHeaderView实例,它包含一个NSTableHeaderCell实例。 NSTableHeaderCell是NSTextFieldCell的子类,它看起来很好,因为它有一个setString方法。但我无法访问NSTableHeaderCell!那我怎么设置列名呢?我认为这样做很简单:毕竟,能够在表格视图中设置列名称几乎是能够处理表格视图的最重要的事情,但是经过几个小时的搜索我还没有找到关于如何做的单一线索。

1 个答案:

答案 0 :(得分:1)

我认为您应该继续使用-[NSTableColumn headerCell]。类引用中的注释不存在于NSTableColumn.h头文件中,即使这些与表视图相关的头文件具有关于基于视图的表视图的相当全面的文档。此外,虽然Apple在10.10中通常已弃用NSCell,而-[NSTableColumn dataCell]已弃用,但-headerCell却未弃用。这表明Apple没有替代品。