SDWebImage - 如何从Cache加载图像?

时间:2012-07-19 05:19:51

标签: iphone uitableview uiimage sdwebimage

我使用SDWebImage使用以下代码将图像下载到UITableView

[cell.imageView setImageWithURL:[NSURL URLWithString:tempPhotoURL] placeholderImage:[UIImage imageNamed:@"temp.jpg"]];

这完美无缺 - 没问题。但是,当我单击TableView中的任何给定行时,我想将该行的缩略图加载到UIImageView中,该SDWebImage位于我正在导航的即将到来的详细信息屏幕上。那我该怎么做?我现在必须从缓存中获取图像,因为它已经被下载了吗?如果是这样,那么方法/过程是什么?如果这不是要走的路,那是什么? 我无法从{{1}}库中包含的所有文件和方法中找到它...

4 个答案:

答案 0 :(得分:1)

只需使用几乎完全相同的代码来设置图像 - SDWebImage将检查它是否已被缓存,如果是,它将使用它而不是从网址中提取图像。

答案 1 :(得分:1)

试试这个,

   [self.imgView sd_setImageWithURL:[NSURL URLWithString:imageUrl placeholderImage:placeholderUrl options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {

//Progress block

} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL){
             //Completion block
         }];

答案 2 :(得分:0)

编码时有很多方法可以实现。 需要注意的是确保UIImageView是详细视图控制器的可访问属性(详细视图控制器API的一部分)。 然后,您需要做的就是在推送详细视图控制器之前,将单元格的图像视图分配给详细视图的UIImageView属性。

OR

创建一个便利初始化程序并将单元格的imageview传递给它... 等等。

答案 3 :(得分:0)

调用您在设置图片时TableView DetailView下载的相同方法,它会先检查缓存。以下是使用SDWebImage

下载图片的代码段
[yourImageView sd_setImageWithURL:[NSURL URLWithString:yourImageUrl]
                          placeholderImage:[UIImage imageNamed:@"placeholder.jpg"]];