2016-05-03 5 views
0

ダウンロードしたイメージをSDWebImageManagerがダウンロードした後に取得する方法についてお聞きしたいと思います。私はここで私が得たものだ、URL経由でダウンロードするコードのみを持っている:SDWebImageキャッシュイメージを取得する

let manager: SDWebImageManager = SDWebImageManager.sharedManager() 
         manager.downloadImageWithURL(NSURL(string: feedDetails.thumbnail), options: [], 
          progress: {(receivedSize: Int, expectedSize: Int) -> Void in 
           print(receivedSize) 
          }, 
          completed: {(image, error, cached, finished, url) -> Void in 

           self.feedImage.image = image 
          } 
         ) 
+0

「ダウンロードした画像を取得する方法」とまったく同じ意味ですか?あなたの「完了」にはあなたのイメージを含む「イメージ」というパラメータがあります。 – beeef

+0

私の理解によれば、上のコードは常にURLを介して画像をダウンロードします。私が望むのは画像の最初のダウンロード後です。もう一度ダウンロードしません。ありがとう! –

答えて

3

SDWebImageManagerクラスからdownloadImageWithURL:方法

ダウンロード与えられたURLの画像をキャッシュや見返りに存在しない場合それ以外の場合は キャッシュされたバージョン。

イメージがキャッシュに存在する場合は、すでにWebからダウンロードする代わりに、コードでイメージを取得しています。私の知る限りは(私は著者のGitのページを見上げ)を直接あなたが保存しSDImageCacheを使用することができますcache-

内部に保存された画像にアクセスするには、以下の方法がある知っているように

+0

setImageWithURL関数は同じことをしますか? –

+1

はい、sd_setImageWithURL関数はSDWebImageManagerクラスのdownloadImageWithURLメソッドを使用しているため、ロジックはまったく同じです。 – lorenzoliveto

+0

違いは何ですか? –

4

明示的に次のコードでキャッシュへの画像:MYIMAGEは、保存したい画像やmyCacheKeyある

[[SDImageCache sharedImageCache] storeImage:myImage forKey:myCacheKey]; 

は、画像の一意の識別子です。あなたがキャッシュに画像を保存し、そのイメージを使用したい後

、ちょうど次の操作を行います。

[[SDImageCache sharedImageCache] queryDiskCacheForKey:myCacheKey done:^(UIImage *image) { 
    // image is not nil if image was found 
}]; 

このコードであるObjective-Cのコードを、あなたは迅速に自分自身をそれを「変換」する必要があります。

私はあなたを助けてくれることを願っています!

関連する問題