美文网首页
正确监听UICollectionView的reloadData完

正确监听UICollectionView的reloadData完

作者: WessonWu | 来源:发表于2018-08-16 09:52 被阅读0次

由于UICollectionView刷新数据一定是在主线程中完成的,也就是在主线程Runloop的某个周期内完成的,而主线程只有一个串行事件队列(DispatchQueue.main),因此可以想到将后续的任务添加到main queue中,从而串行的执行reloadData -> ... -> 某个任务。至此就可以达到监听reloadData的完成状态。形式可以如下几种方法:

1、方法一

collectionView.reloadData()
DispatchQueue.main.async {
     // TODO: 某个任务
}

2、方法二

collectionView.reloadData()
collectionView.performBatchUpdates(nil) { (_) in
     // TODO: 某个任务
}

ps: UITableView的处理方式类似,不过方法二的处理只能iOS 11.0后才能使用。

相关文章

网友评论

      本文标题:正确监听UICollectionView的reloadData完

      本文链接:https://www.haomeiwen.com/subject/ryrnbftx.html