【问题标题】:SDWebImage - how to load image from Cache?SDWebImage - 如何从缓存加载图像?
【发布时间】:2012-07-19 05:19:51
【问题描述】:

我使用SDWebImage 将图像下载到我的UITableView 使用:

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

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

【问题讨论】:

    标签: iphone uitableview uiimage sdwebimage


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      试试这个,

         [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
               }];
      

      【讨论】:

        【解决方案3】:

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

        创建一个方便的初始化程序并将单元格的图像视图传递给它... 等等等等。

        【讨论】:

          【解决方案4】:

          调用同样的方法,你在TableView中下载的DetailView中设置图片时,它会先检查缓存。这是使用SDWebImage下载图像的代码sn-p

          [yourImageView sd_setImageWithURL:[NSURL URLWithString:yourImageUrl]
                                    placeholderImage:[UIImage imageNamed:@"placeholder.jpg"]];
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-02-14
            • 1970-01-01
            • 1970-01-01
            • 2012-10-13
            • 2016-03-03
            • 2023-04-03
            • 2023-03-22
            • 1970-01-01
            相关资源
            最近更新 更多