最近很多bug崩溃统计有很多
UICollectionView dataSource is not set
网上也有很多类似的解答。最终结合自己的代码和架构,分析出了问题所在:
我们的在利用UICollectionView布局时都是在 UIViewController 创建一个UICollectionView成员对象,利用其代理方法进行布局控制和赋值操作。
但是我们在很多实际的Controller中,由于业务代码的不规范,造成很多控制存在内存泄漏的问题,造成Controller 在dismiss 或 pop 操作后不能销毁。
而我们的代码中很一个登陆和退出登陆的通知,在触发该通知后,会重新刷新布局和数据,需要对UICollectionView 进行 reloadData 操作。
这样就造成了UICollectionView dataSource is not set 崩溃。