2010-08-27 55 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直到完成。

重新加載數據不會重置滾動位置。