进入新闻详情页,回退到列表页,出现 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中只注销了一次。原因找到了,就是它。
注册两次监听,注销一次。