关于iOS8上使用UITextView内存泄漏的一个坑:-[UITextView textInputView]: message sent to deallocated instance

问题:    测试

      第一次从一个页面跳转到编辑控制器没有什么问题,当返回后再次进入编辑控制器点击UITextView出现内存泄漏错误,经过僵尸断点发现错误:-[UITextView textInputView]: message sent to deallocated instance 0x159fc800,测试环境是真机(iPhone5,iOS8.4),我又试着在iOS10的系统上测试,发现并无什么问题,可能iOS8和10的一些内存处理策略不同。spa

解决方法:3d

      这个bug调试了好久,最后几经查阅资料,在论坛上发现原来是问题出在UITextView的Category里,虽然工程里没有使用到该Category,但Category里重写了dealloc方法,引发了内存的一些释放问题,注释了Category里的dealloc方法就好了。虽然解决了bug,可是我发如今工程里存在另外一个UITextView的Category,该Category里也重写了dealloc方法,可是我并无注释掉,该方法也不会执行,然而内存问题却解决了,一脸懵逼,不明白苹果对于Categary里重写系统方法是怎么处理的。调试

 

附截图:blog

 跳转到内存

相关文章
相关标签/搜索