今天在工作中遇到一个报错,记录一下解决方法。
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操作的时候这个控制器会自动销毁,然后播放器页就会自动跟着销毁。所以就不需要特别的去调用播放器销毁方法进行销毁了。不然就会出现这个问题,意思就是你已经释放过该对象了,但是你又过度释放了。