基于视图的NSTableView viewForTableColumn:未调用行

时间:2012-10-25 20:36:35

标签: cocoa nstableview

我有一个基于视图的NSTableView,它在IB中配置为基于视图。它的列标识符也已设置。和它的dataSourcedelegate一样,设置为同一个对象,声称在公共标题中同时符合两者。我已经验证了这些是在tableView从其笔尖唤醒之后设置的。

根据文档,我实现了-numberOfSectionsInTableView:并调用它并返回非零数字。

然而,-tableView:viewForTableColumn:row:,令我懊恼的是,不是,我不知道为什么不这样做。

有谁知道为什么会这样?我正在使用Mountain Lion,我的部署目标也将成为Mountain Lion。

2 个答案:

答案 0 :(得分:5)

很简单!问题是,即使将tableview添加到我的视图层次结构中,它也被剪裁,因此无法看到。 NSTableView必须进行一些检查以确定它是否实际在屏幕上,然后只请求可见行的单元格视图。

因为整个tableview基本上是“屏幕外”,所以它不会请求任何行。

答案 1 :(得分:0)

我的NSTableView是通过代码而不是IB添加的,我通过添加来解决:

[tableView addTableColumn:[[NSTableColumn alloc]initWithIdentifier:@"columnIdentifier"]]