在项目中偶尔会遇到UITableView和UICollectionView的DataSource方法不走的情况,一般原因有几个:
1、没有设置DataSource的代理对象
2、UITableView和UICollectionView的frame存在问题,比如说它们的宽或高为0的情况,这时候UITableView的cellForRowAt或者UICollectionView的cellForItemAt等方法就不会被执行
3、UICollectionView初始化时,直接使用UICollectionViewLayout类而不是它的子类UICollectionViewFlowLayout
4、可能是因为cell上有图片的异步加载,只需将reload放在主线程就行了:
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});