NSKVODeallocate crash

进入新闻详情页,回退到列表页,出现 NSKVODeallocate 概率性崩溃,然而在无网情况下,必现。
crash 描述:

An instance 0x10c864e00 of class _UIWebViewScrollView was deallocated while key value observers were still registered with it. Current observation info: <NSKeyValueObservationInfo 0x17042d4e0> ( <NSKeyValueObservance 0x174453b00: Observer: 0x10bd9a7b0, Key path: contentSize, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x174453b30>

这种crash的意识就是,_UIWebViewScrollView 释放的时候 observers 仍然在注册状态。是要在 dealloc 中注销监听,but 哥们注销了啊。为什么还会偶然性崩溃呢,在无网情况下,必现! 然后开始review 代码,发现 在网络请求 loadNews 的failure 情况下也注册了一次监听,在 viewdidload 中已经注册过一次监听,然而 dealloc中只注销了一次。原因找到了,就是它。

注册两次监听,注销一次。

切记:addObserver 和 removeObserver 一定要对应。而且写完代码要review,review,review!!!

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

推荐阅读更多精彩内容

  • 版权声明本文转自网易杭州前端技术部公众号,由作者授权发布。 前言 大白(Baymax),迪士尼动画《超能陆战队》中...
    XueYongWei阅读 6,156评论 2 11
  • Baymax:网易iOS App运行时Crash自动防护实践 版权声明本文转自网易杭州前端技术部公众号,由作者授权...
    IOS开发攻城狮_Fyc阅读 11,731评论 2 34
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,808评论 0 9
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,312评论 30 472
  • 当下又当下需要操劳的事情,未来有未来需要操劳的事情,一日不得闲。 还不足以从容的面对生活的问题,有着莫名的高傲,和...
    Track1992阅读 1,826评论 0 0