2010-08-27 61 views
4

我有一个部分的表视图。我在后台异步地将数据从小型网络上从互联网上下载下来。我的问题是我不知道总共有多少条记录。当Web服务停止返回数据时,我知道我拥有它们,在某些情况下,行可能是无限的。无尽的UITableview部分

的方法:

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

在视图负荷的开始理解调用一次,在这一点上,我不知道我的部分有多大将是。关于如何最好地解决这个问题的任何想法?在调用此方法后,是否可以在任何位置设置节的大小?

回答

8

可以让实现代码如下重载它的数据,调用

[tableView reloadData]; 

... ...,它会问的数据源有关行等数了一遍。

+0

这会使视图重新加载,重新开始在顶部的滚动? – Magpie 2010-08-27 15:45:34

+0

刚刚尝试过,看起来好像没有,所以这可能会起作用。谢谢。 – Magpie 2010-08-27 15:48:42

0

你说数据是以块的形式提取的 - 所以只需要以大块的形式更新你的表。

每次下载块时,重新加载表。这样,您就知道每个块完成后有多少行。

实施例:

  1. 应用的负载(没有数据)
  2. 数据块下载
    • 穿戴结果存入阵列中阵列
    • 6行,在部分方法
    • 中的行数返回 [array count]
    • 重新加载表格
  3. 重复步骤2直到完成。

重新加载数据不会重置滚动位置。