在集合视图中更新多个单元格的最佳方式?
The best way to update multiple cells in a collection view?
我有一个带有显示多个单元格的流布局的集合视图。每个单元格在显示图像和一些文本之前都会发生一些异步加载。连续更新这些单元格的最佳方法是什么?
我正在做类似这样的事情,但我注意到如果多个单元格同时完成,我的集合视图会冻结一秒钟左右。
dispatch_async(dispatch_get_main_queue(), ^{
[collectionView reloadItemsAtIndexPaths:@[indexPath]];
});
添加更多代码会很好,但实际上用 performBatchUpdates
做这些事情比在主线程中做更好。
- (void)performBatchUpdates:(void (^)(void))updates
completion:(void (^)(BOOL finished))completion;
我有一个带有显示多个单元格的流布局的集合视图。每个单元格在显示图像和一些文本之前都会发生一些异步加载。连续更新这些单元格的最佳方法是什么?
我正在做类似这样的事情,但我注意到如果多个单元格同时完成,我的集合视图会冻结一秒钟左右。
dispatch_async(dispatch_get_main_queue(), ^{
[collectionView reloadItemsAtIndexPaths:@[indexPath]];
});
添加更多代码会很好,但实际上用 performBatchUpdates
做这些事情比在主线程中做更好。
- (void)performBatchUpdates:(void (^)(void))updates
completion:(void (^)(BOOL finished))completion;