UICollectionView 与从照片中获取的数据源 - 大量照片的缓慢更新

Posted

技术标签:

【中文标题】UICollectionView 与从照片中获取的数据源 - 大量照片的缓慢更新【英文标题】:UICollectionView with data source fetched from Photos - slow updates with big amount of photos 【发布时间】:2015-06-13 11:13:11 【问题描述】:

我正在制作the app,用于使用旧的ALAseetLibrary 框架检测照片库中的屏幕截图——如果可以的话,请使用新的照片框架。我的问题是,当用户拥有大型照片库时,查找屏幕截图需要花费大量时间。每次打开应用程序时,我都会更新我的数据源。

这是扫描照片库的代码:

ALAssetsLibraryGroupsEnumerationResultsBlock savedPhotosBlock = ^(ALAssetsGroup *group, BOOL *stop)

    if (group)
    
        [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop)
        
             if(result)
             
                 ALAssetRepresentation *original = [result defaultRepresentation];
                 CGSize dimensions = [original dimensions];

这项工作完成后,我打电话给reloadData()。如何随时更新数据,以便在其数据源更新时与UICollectionView 进行交互?

【问题讨论】:

【参考方案1】:

您应该使用 performBatchUpdate 方法。 使用要添加的新 indexPath 创建数组。 调用 insertItemsAtIndexPaths:

而不是重新加载数据

【讨论】:

以上是关于UICollectionView 与从照片中获取的数据源 - 大量照片的缓慢更新的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UICollectionView 中获取选中的 CollectionViewCell?

iOS Swift UICollectionView 照片浏览 - 当单元格不可见时如何停止取消 DispatchQueue

如何将视频从 ALAsset 显示到 UICollectionview ios

UICollectionView 和核心数据

UICollectionView 拖放单元格

使用 UICollectionView 的建议