iOS 下拉刷新崩溃问题

在我们进行数据请求的时候, 会用到下拉刷新, 有时候会遇到刷新就崩溃的难题, 主要是因为刷新的时候会重新调用数据源方法,在调用的时候正好和清空原来数据的地方冲突了,导致数组里面的内容为空,才出现崩溃的。也就是说你在数据尚未请求成功时 ,已经把数组清空了

错误的原因, 看下面代码

#pragma mark 开始进入刷新状态
- (void)headerRereshing {
    _PageIndex = 1;
    _PageSize = 10;
    // 不可以在这进行清空
  //  [self.ModelArray removeAllObjects];
    [self sendRequest];
}

应该放在正确的位置, 看下面改正过来的代码

  [NetworkManager requestPOSTWithURLStr:urlStr paramDic:paramDic finish:^(id responseObject) {
            if (_PageIndex == 1) {
                [self.ModelArray removeAllObjects];
            }
            NSLog(@"在重新赋值之前, 清除原先数据, 记得判断_PageIndex是否为1");
            
            [self.tableView reloadData];
            [_tableView headerEndRefreshing];
            [_tableView footerEndRefreshing];
            
        } enError:^(NSError *error) {
            [_tableView headerEndRefreshing];
            [_tableView footerEndRefreshing];
        }];
        

好了, 看完以后应该可以解决你的问题了!
// 转载请注明原地址呦!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,655评论 25 709
  • 亲爱的,你的一生到底做过多少件令人疯狂的事情呢?仔细的想一想,我们为什么要做一些疯狂的事,让自己的人生而与众不同呢...
    简小珍阅读 791评论 3 0
  • 1-医学上属于进食障碍的一种,被称之为“神经性贪食症”,神经性贪食症是这样被定义的:是指不可控制的多食、暴食。患者...
    心行者阅读 2,537评论 0 7
  • 看到这个界面,是高兴的。
    LadyCoder阅读 251评论 0 0
  • 凌晨四点,突然就那么醒来,窗外的雨声还没有停止。 情绪突然有点低落,思绪开始杂乱起来来。 大学时,信誓旦旦...
    Emmaly阅读 239评论 0 1