tableview在下拉刷新时会崩溃的问题(转)

折腾了我一天的问题。。。
可能最重要的原因是:你先清空了列表数据,然后再请求网络数据赋值。。
 
正常的应该是这样的步骤。。

1. 下拉
2. 达到下拉临界值以后再请求网络数据
3. 待数据加载到本地以后才更新 data source
4. reload tableview

如果先清空再下拉,后果就是往下拉的距离超过一个 cell 的高度时,table view 的几个委托方法就会被调用,由于 data source 已经被清空,造成错误的内存访问(包括数组越界,访问已销毁的对象)导致 crash

原文地址:https://www.cnblogs.com/shiguangji728/p/5063688.html