美文网首页
一个崩溃-下拉刷新

一个崩溃-下拉刷新

作者: CoderCurtis | 来源:发表于2017-08-29 22:52 被阅读18次
reason: 'An instance 0x7f86e7a14000 of class TQRAPCompleteTableView was deallocated while key value observers were still registered with it. Current observation info: <NSKeyValueObservationInfo 0x6080008327c0> (
<NSKeyValueObservance 0x60800085bb10: Observer: 0x0, Key path: contentOffset, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x60800085e090>
<NSKeyValueObservance 0x60800085e960: Observer: 0x0, Key path: contentSize, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x60800085e270>
)'

字面理解: 一个叫TQRAPCompleteTableView的类已经被销毁,但是它仍然注册着键值观察者。

我使用的SVPullToRefresh来做页面的下拉刷新。页面顶部有三个导航标签,我是这样实现的: 放一个滑动视图在控制器视图上,滑动视图的contentSize设置为宽度为屏幕宽度的3倍,然后分别自定义3个tableView,然后#import到该控制器中并依次放置在滑动视图content上。

当我进入该控制器,然后做pop操作,导致崩溃,报错见上。

当时对字面上说的键值观察有点摸不到头脑,然后搜了下,基本都是3年前的问答,而且是使用MJRefresh时导致的崩溃。给出的解决方法是:

- ( void )dealloc  
{  
    [header free];  
    [footer free];  
}  

而我之前用过MJRefresh实现下拉刷新和上拉加载,并没有遇到过此问题,或许MJRefresh在某个更新解决了此问题,也可能我使用的场景并没有遇到此问题。 我这里使用的SVPullToRefresh,看了下源码也确实是利用了键值观察者来实现。但我并不能使用head free此解决我当前问题。 之前使用SVPullToRefresh也做过类似需求并未遇到此崩溃问题,看了下之前的代码一时也没发现问题所在。

然后打断点调试,最后发现, 3个tableView都需要添加下拉刷新和上拉加载,我以为我都添加了(我以为的以为错了),原来我只给先显示的tableView添加了下拉刷新和上拉加载,而后两个,其实并没有添加,但我却在后面的代码中调用了以下此类代码:

self.completeTableView.showsInfiniteScrolling = YES;

[self.completeTableView.pullToRefreshView stopAnimating];
[self.completeTableView.infiniteScrollingView stopAnimating];

相关文章

  • Tide项目所用第三方库整理

    1、MJRefresh 下拉刷新库 2、EGORefresh 下拉刷新 3、BuglySDK 崩溃信息收集 4、A...

  • 一个崩溃-下拉刷新

    字面理解: 一个叫TQRAPCompleteTableView的类已经被销毁,但是它仍然注册着键值观察者。 我使用...

  • Cell下拉刷新崩溃

    可能最重要的原因是:你先清空了列表数据,然后再请求网络数据赋值。。 正常的应该是这样的步骤。。 1. 下拉 2. ...

  • MJRefresh下拉刷新上拉加载自定义

    下拉刷新 下拉刷新 默认 下拉刷新 动画图片 JRGifHeader.h JRGifHeader.m 下拉刷新 隐...

  • iOS 下拉刷新崩溃问题

    在我们进行数据请求的时候, 会用到下拉刷新, 有时候会遇到刷新就崩溃的难题, 主要是因为刷新的时候会重新调用数据源...

  • MJRefresh用法详解

    下拉刷新01-默认 下拉刷新02-动画图片 下拉刷新04-隐藏状态和时间 下拉刷新05-自定义文字 下拉刷新06-...

  • Swift 项目中可能用到的第三方框架

    下拉刷新 BreakOutToRefresh一个下拉刷新打砖块的swift库 SDRefreshView简单易用的...

  • (Swift)常用三方框架

    下拉刷新 BreakOutToRefresh一个下拉刷新打砖块的swift库 SDRefreshView简单易用的...

  • UITableView的基本使用

    一、常用方法 二、上拉刷新,下拉刷新 MJRefresh下拉刷新(上拉加载)使用详解MJRefresh下拉刷新三方...

  • iOS 常用第三方-UI

    下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件 SVPullToRefresh ...

网友评论

      本文标题:一个崩溃-下拉刷新

      本文链接:https://www.haomeiwen.com/subject/hrnadxtx.html