13
當您在表視圖實例上調用-reloadData
時,它是否使所有UITableViewDataSource
調用異步? 謝謝。是 - [UITableView reloadData]異步還是同步?
當您在表視圖實例上調用-reloadData
時,它是否使所有UITableViewDataSource
調用異步? 謝謝。是 - [UITableView reloadData]異步還是同步?
這種方法實際上只是從表中刪除所有的UITableViewCell
視圖。數據源委託方法在表格重新繪製時調用。
所以,它是異步的。
編輯:
實際上,一些調用是同步的。行和行高的段數&立即更新,因此,例如contentSize
在調用後正確設置。另一方面,在表被重新繪製之前,tableView:cellForRowAtIndex:
不會被調用。
所以如果我有一個支持tableview的數組。如果數組在被調用之前更新,cellForRowAtIndexPath會崩潰,我們應該如何解決這個問題? – bogardon 2012-10-17 21:38:29
@bogardon我不明白 - 爲什麼會崩潰? – Sulthan 2012-10-18 09:37:25
如果在所有'cellForRow ...'調用完成之前再次調用reloadData並且新的單元格數<舊單元格數,它會崩潰。 'cellForRow'要求索引太高 – bendytree 2013-05-23 23:50:35