怎么解决tableViewCell 嵌套CollectionView reloadData时的卡顿?

在tableViewcell里嵌套了collectionview cell作为collectionview的delegate和dataSource,给cell赋值时 collectionview reloaddata会卡顿一下,collectionview有9个item,固定的,怎么办呀?

`- (void)setValueWithDataArray:(NSMutableArray *)dataArray {

[self.dataSource removeAllObjects];
[self.dataSource addObjectsFromArray:dataArray];
[self.collectionView reloadData];

}
`

阅读 10.8k
4 个回答
新手上路,请多包涵

你就不该这样设计

可以试试把刷新操作放在一个 [UIView animation...] 的动画里,duration 为 0

新手上路,请多包涵

什么样的需求要这样ui结构设计?滑动cell的时候会卡顿是吗?你可以试试延迟刷新一下,使用GCD延迟和main中reload

新手上路,请多包涵

卡顿的主要原因是每次滚动到当前cell时都会调用 [self.collectionView reloadData];
[self.collectionView reloadData];是需要重新布局的,是否能做一个缓存,记录一下,在数据没有发生变化时,不调用[self.collectionView reloadData];

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题