2013-04-16 41 views
3

在scrollViewDidScroll中,我檢查表格視圖是否滾動到足夠靠近底部,如果是,執行網絡請求以從服務器獲取新數據,以及何時網絡請求成功我更新了數據模型,然後通過調用[tableView reloadData]更新tableView。當追加從網絡返回的新單元格時,UITableView不連貫滾動

症狀是當網絡請求完成並且新項目添加到表格時,滾動性能不穩定。

有誰知道什麼可能會導致問題?

+0

有多少項目在駕駛桌子的模型? –

+0

可能有幾千個,但是當從服務器獲取<100個項目時,我看到了滾動問題。但是這個問題並沒有很好的可靠性,所以我不知道如何開始調試。 – Pinch

+0

下載的數據量是多少?處理需要多長時間?它是否在主線程上運行?它是否被放入核心數據或其他數據存儲?如果您向下滾動,開始網絡請求,然後在請求完成時開始向上滾動,那麼波濤洶涌的滾動是? – Wain

回答

1

不重新加載整個表視圖

只是你的數據添加到數據源,並調用[的tableView:insertRowsAtIndexPaths:withRowAnimation]

例..

// addNewDataToDataSource(data) 

[tableView beginUpdates]; 
[tableView insertRowsAtIndexPaths:indexes withRowAnimation:UITableViewRowAnimationAutomatic]; 
[tableView endUpdates]; 
相關問題