重写UIScrollView分类dealloc错误
[UIScrollView _systemGestureStateChanged:]: message sent to deallocated instance> 错误解决方法
[UITableViewWrapperView _systemGestureStateChanged] 解决亦是如此
今天一个朋友自己的程序出现了一个bug, 不知道怎么解决, 他把报错内容给我, 报错内容如下:
就是普通的僵尸对象错误, 可是解决就不是那么简单了…
我翻边了各大国内过外网站, 终于再一个不显眼的地方看到了大致是因为在UIScrollView
分类重写了dealloc
方法导致.
于是我去项目里看一下UIScrollView
的分类. 果真, 这个第三方重写了dealoc
, 把它注释掉果然没有出现僵尸对象了.
可是问题又来了,这个分类是在dealloc
里移除监听的
我想到了MJRefresh
使用的也是同样的原理, 于是我去看了他的代码,他是再这里移除监听的
那我们就学着他
重新运行程序, 问题解决.
然而, 又有新的问题出现, 就是通知移除的问题, 为了彻底解决自己写了个.
代码地址:https://github.com/shlyren/ZYScaleHeader