过度释放:[**VIewController scrollViewDidScroll:]: message sent to deallocated instance

修复bug 是开发者经常遇到并乐此不疲的一件事,尤其是看到bug现象就能想到哪了出问题了, 修复之后那种体验不可言喻,但是 最让人头痛的是 ,程序经常崩在EXC_BADACCESS 这种, 今天我就说一下其中一个bug。
先上bug截图:

FDAF5315-FAA1-461E-9A70-311C596B2F9F.png

是不是特别熟悉,但是这种错误,让我们无章可循,不知道究竟是哪里出了问题,
紧接着,依照我的直觉【哈哈,装个X,其实是经验而已了】, 判定可能为僵尸对象,打开xcode的僵尸对象调试


18C7D4F3-A6FD-4A3E-9BD5-85BB8CCA062B.png

再次出发崩溃,果不其然,此时的控制台的输出为:

2B6DF954-C151-4E0D-B638-867349364EE8.png

至少我们已经定位到了某个VC里面,而且错误原因很明明了,scrollViewDidScroll:]: message sent to deallocated instance 即 过度释放,那么问题就迎刃而解了,只需要在delloc 方法里面:
-(void)dealloc{
self.TableView.delegate = nil;
[也可能是ScrollView,看自己界面的情况而定]
}
好吧,总算解决了,继续苦逼的修复其他bug吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容