2014-11-22 64 views
2

我想知道这种常见操作的最佳做​​法是什么: 假设我有一个集合视图,并且此集合视图的每个单元格都有一个imageView,它接收一个url一个图像。预加载和缓存图像的最佳做法(AFNetworking)

图像很大,所以我想提前预先载入所有图像(或提前说5)。 我正在使用AFNetworking imageView类别。

所以这就是我所做的 - 创建一个临时UIImageView并为每次迭代设置网址,但它似乎没有正常工作。 (图像仍然需要时间才能显示,而我希望它是即时的,并且如果我关闭了互联网连接,图像不会从缓存中加载)。

- (void)preloadGalleryImages { 

for (GalleryItem *item in _galleryItems) { 
    UIImageView *tempImageView = [[UIImageView alloc] init]; 
     [tempImageView setImageWithURL:item.imageURL placeholderImage:IMAGE(@"placegolder")]; 
    } 
} 

}

感谢,

+0

试过吗? https://github.com/rs/SDWebImage – LMVogel 2014-11-22 17:16:52

回答

1

有预热的这是在苹果PhotosKit samples的一个实现集合视图图像的一个普遍的方式。您可以预测用户操作并获取可能很快出现在显示屏上的图像(靠近视口)。该功能在NukeDFImageManager中实施。