2015-06-21 69 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

这个问题更多的是理解这个理论。得到了答案。谢谢 –

相关问题