是否在UICollectionView.willDisplay中进行网络调用是不好的做法?

时间:2018-08-11 16:35:24

标签: ios uicollectionview uicollectionviewcell

我正在制作一个演示APP,该APP从RESTFul服务中获取图像并将其显示在UICollectionView

因此,我正在进行网络调用以通过willDisplay委托方法获取图像。

但是在WWDC关于UICollectionView的讨论中,主持人说,配置单元的所有繁重工作必须在数据源的cellForItemAt方法中完成,而最小配置应在willDisplay中完成方法。

但是在数据源中进行网络调用感觉不对,因为在退出单元格之前,我必须等待网络调用完成。

任何人都可以指出两种方法的优缺点。

哪种方法是进行网络调用的最佳位置。

1 个答案:

答案 0 :(得分:0)

最好的位置是cellForItemAt,因为它被调用的时间早于willDisplayCell,这样可以节省时间,而且您不必等待,因为图像是用{{ 3}}或SDWebImage也为您缓存,因此,如果用户快速滚动,对于同一张图片,下载不会再次发生