Cannot form weak reference to instance (0x129b786c0) of class xxx It is possib

1,355 阅读1分钟

今天在工作中遇到一个报错,记录一下解决方法。

Cannot form weak reference to instance (0x129b786c0) of class xxxx.ViewController. It is possible that this object was over-released, or is in the process of deallocation.

  • 解决方法:

分析了半天原来是自己在处理音频播放器的时候在deinit中调用了播放器的destroyPlayer()销毁方法导致的。为什么会这样呢?因为自己的播放器是封装在一个ViewController中的,而且在使用的时候是使用(懒加载)lazy的方式创建的,当我push到播放器界面的时候播放器会自动创建,当我执行pop操作的时候这个控制器会自动销毁,然后播放器页就会自动跟着销毁。所以就不需要特别的去调用播放器销毁方法进行销毁了。不然就会出现这个问题,意思就是你已经释放过该对象了,但是你又过度释放了。