ios message sent to deallocated instance

1,966 阅读1分钟

message sent to deallocated instance
问题出现在系统版本iOS9,当我从一个控制器 pop 的时候,出现奔溃。

1. 可以使用终端来定位这个问题

malloc_history 43704 0x7f897b1ad7f0

###在活动监视器里查找到应用的 pid

查找到应用的pid

2. 回车,根据提示的代码去定位问题就可以了

找到问题的位置.png

3. 但是事情有时候并不会这么简单

1.有可能是你要去持有一个已经释放的对象,然而它已经 Release 了 地址 2.那么我的这个问题就比较厉害了,retain的是一个控制器,一个WKWebView,在 VC 里写了一个它的 scrollview 的代理事件;pop 的时候,这个控制器是被释放的,但又向这个被释放的对象发送了请求事件,所以出现了问题

  • 参靠地址1
  • 参靠地址2 参考地址里介绍了两种解决方案:
    一图胜千言
    PS.参考地址里说的法1,我在 ARC 模式下使用也是咩问题的