UITableview 调用reloadData刷新tableview的时候,偶尔会出现崩溃的现象。出现这种情况大多数是在动态改变Datasource的同时tableview还处于滚动动的状态。Tableview动态改变Datasource与tablewview 调用reloadData方法之间存在时间差,如果此时tableview处于滑动状态,有可能会导致Datasoure下标越界造成Cash.解决办法就是将动态改变datasource和调用reloadData方法同时放在主线程里去处理,先改变datasource立即调用reloaddata。
dispatch_async(dispatch_get_main_queue(), ^{
self.dataSourceArray= a new Array.
[self.tableView reloadData];
});
本文详细介绍了在iOS开发中,当UITableview动态改变DataSource的同时tableview还处于滚动状态时,可能出现崩溃现象的原因及解决方法。通过将动态改变DataSource和调用reloadData方法同时放在主线程里处理,可以有效避免下标越界错误。

674

被折叠的 条评论
为什么被折叠?



