Cell下拉刷新崩溃

可能最重要的原因是:你先清空了列表数据,然后再请求网络数据赋值。。

正常的应该是这样的步骤。。

1. 下拉

2. 达到下拉临界值以后再请求网络数据

3. 待数据加载到本地以后才更新 data source

4. reload tableview

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

解决方法:

-(void)headerRefresh

{

nowPage =1;

isNeedIndicator=YES;

//[self.data removeAllObjects];

[self loadData];//添加该句

}

你可能感兴趣的:(Cell下拉刷新崩溃)