NSTableView过早地请求数据

时间:2010-09-06 17:08:47

标签: objective-c nstableview

我在使用NSTableView时遇到了一些问题。问题是表视图过早地请求数据(它立即请求来自控制器的数据),因为当表视图请求数据时,数据不存在。在NSTableView请求数据时,收集要在表视图中显示的数据的其他方法尚未完成执行。

希望有某种意义!我正在使用Objective-C并使用mac dev(而不是iphone)btw。

无论如何,这有什么办法吗?

提前致谢。

2 个答案:

答案 0 :(得分:3)

NSTableView可能会询问数据,因为您已经告诉它有20行数据。一旦它知道有20行,它就会开始要求它。

如果您正在使用NSTableView数据源Delegate,它很简单,只需返回0表示行数,直到所有内容都准备好 - 然后返回有的行数。

IE你需要委托中的这些调用:

– numberOfRowsInTableView:
– tableView:objectValueForTableColumn:row:

如果您没有使用NSTableViewDataSource,并且已经在Interface Builder中连接了控制器,那么您必须以某种方式仅在控制器准备就绪时为其提供数据。

答案 1 :(得分:1)

听起来像是异步填充表视图?如果是这样,您可以在处理响应的方法中调用表视图上的reloadDatareloadDataForRowIndexes:columnIndexes:,以便在数据加载后刷新表视图。