今天再写断网页面的时候发现了一个bug, 有网的时候和没网的时候刷新数据都没有问题. 只有再先有网络加载了数据, 然后再断网刷新数据就出现崩溃的情况.
经分析, 是因为我在刷新的时候先将数组清空, 然后再请求数据.
这样导致刷新时最后一个cell消失, 弹回来时,数据已经被清空, 如此导致崩溃.
解决方案:
添加一个属性判断是否是下拉刷新
/**
- 是否是下拉
*/
@property (nonatomic, assign)BOOL isDrawDown;
在下拉刷新调用的方法中将这个属性设为yes,
self.isDrawDown = YES;
然后在请求数据成功的回调方法中判断是否是下拉刷新, 若是, 则清空.若数据请求失败, 则不清空数据. 这样就不会崩溃.
if (self.isDrawDown) {
[self.hotLiveArray removeAllObjects];
self.isDrawDown = NO;
}