NSKVODeallocate crash

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

An instance 0x10c864e00 of class _UIWebViewScrollView was deallocated while key value observers were still registered with it. Current observation info: ( Context: 0x0, Property: 0x174453b30>

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

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

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

你可能感兴趣的:(NSKVODeallocate crash)