MJRefresh汇总
2017-10-25 本文已影响12人
怪客半
1.刷新时报错:
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 6 beyond bounds for empty array'
MJ_越界.png描述:只有在下拉的幅度较大的时候会闪退。
分析:在绘制cell的时候判断一下数据源数组是否为空。刷新执行请求操作时清空了数据源,因为时间差的原因,tableview在清空数据前执行了reload操作,numberOfRowsInSection与cellForRowAtIndexPath方法中间的一段时间数据源被清空了,导致取数据时发生数组越界。
参考:使用MJRefresh刷新有时候会导致程序崩溃,原因是数据源数组越界。10楼的回答
解决:在cellForRowAtIndexPath中绘制cell的时候,先判断数据源数组是否为空,然后取值。