iOS 10.3.3 KVO報錯

最近接手一個 國際化的項目,做下筆記(筆記若有誤,歡迎指出),記錄一下開發(fā)遇到報錯問題:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'An instance 0x129d0c230 of class HDTabBarController was deallocated while key value observers were still registered with it. Current observation info: <NSKeyValueObservationInfo 0x17003d7a0> (
<NSKeyValueObservance 0x170246360: Observer: 0x129d0c230, Key path: selectedViewController, Options: <New: YES, Old: YES, Prior: NO> Context: 0x0, Property: 0x170246390>

開發(fā)環(huán)境Xcode12.1,運行環(huán)境iOS10.3.3、iOS14.2。

iOS14.2手機運行沒問題

iOS10.3.3手機上運行,切換語言時(重置HDTabBarController)APP崩潰閃退。報錯如下

檢查發(fā)現 HDTabBarController 在dealloc 時沒有移除KVO監(jiān)聽(如圖)。

解決方案:

在重置HDTabBarController時,原來的HDTabBarController需要釋放,對應的KVO也需要移除。所以在dealloc里面添加移除KVO監(jiān)聽就好了, 如下圖

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容