2015-06-21 152 views
0

想象一下,我在tableView中有200行,如果我調用reload兩次會發生什麼 - 這意味着我調用了我的tableview重裝,重裝第100行時,我再次調用reload,現在會發生什麼?當你調用UItableview的重裝兩次時會發生什麼

+0

它只會顯示你的數據源傳遞了什麼 - 當你調用reload時,你的tableview會把可見區域放到一開始,並再次詢問每個可見單元的數據源。 –

+0

想象一下,我有一個沉重的表格視圖,有二十個可見的單元格,在這個狀態下,當第10個單元格重新加載時,我再次調用重新加載,那麼剩下的10個單獨重新加載還是整個20個單元格將會是? –

+0

我很懷疑你可以將這麼多東西包裝進一個仍然會滾動的表格視圖中,這會成爲一個問題。正如rmaddy所說的那樣,無論如何你都無法重新加載tableview,因爲主線程(你需要調用reload)無論如何都被阻塞了。 –

回答

1

你的問題不會發生。所有重新加載都在主線程上完成。在重新加載完成之前,reloadData的調用不會返回。因此,在上次重新加載仍在運行時,您無法再次調用它。這不是問題。

而你的問題也意味着如何加載表視圖的誤解。當您撥打reloadData時,所有200行將不會「重新加載」。表視圖將重新確定所有行的數量和高度,然後它只會實際重新加載可見的行。所以不用擔心「重裝第100排」。

+0

這個問題更多的是理解這個理論。得到了答案。謝謝 –

相關問題