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。