[UIScrollView _systemGestureStateChanged:]: message sent to deallocated instance> 错误解决方法
[UITableViewWrapperView _systemGestureStateChanged] 解决亦是如此

今天一个朋友自己的程序出现了一个bug, 不知道怎么解决, 他把报错内容给我, 报错内容如下:


就是普通的僵尸对象错误, 可是解决就不是那么简单了…

我翻边了各大国内过外网站, 终于再一个不显眼的地方看到了大致是因为在UIScrollView分类重写了dealloc方法导致.

于是我去项目里看一下UIScrollView的分类. 果真, 这个第三方重写了dealoc, 把它注释掉果然没有出现僵尸对象了.

可是问题又来了,这个分类是在dealloc里移除监听的

我想到了MJRefresh使用的也是同样的原理, 于是我去看了他的代码,他是再这里移除监听的

那我们就学着他

重新运行程序, 问题解决.

然而, 又有新的问题出现, 就是通知移除的问题, 为了彻底解决自己写了个.
代码地址:https://github.com/shlyren/ZYScaleHeader