KVO在MemoryWarning时引起的crash

2017-03-13  本文已影响0人  雨天__心情

业务场景:

播放的视频滑出屏幕,停止播放。

实现:

使用kvo监听collectionView的contentOffset,检查visibleCells中是否有正在播放的cell,没有则视频滑出屏幕,停止播放。

crash:

当MemoryWarning时,会调用父类的didReceiveMemoryWarning;

在父类中判断如果self.view没有在屏幕中,会移除self.view;

当再次返回该控制器的时,会重新加载viewDidLoad,此时之前的collection引用计数器为0(之前是强引用,viewDidLoad会让_collection指向新的collectionView);

但是kvo并没有移除,所以crash。


上一篇下一篇

猜你喜欢

热点阅读