2012-01-06 6 views
7

イメージをテーブルビューで表示するときはいつでも、画像ダウンロード/キャッシュライブラリSDWebImageを使用します。SDWebImageをキャッシュなしで1つのインスタンスに使用する方法

私は通常、テーブルビューcellForRowAtIndexPathメソッドのように実装します。

[cell.imageView setImageWithURL: 
[NSURL URLWithString:@"http://asite.com/animage.jpg"] 
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];   

キャッシュされたバージョンがあればロードされます。

SDWebImage(プレースホルダ/堅牢なダウンロードコード付き)を使用したい場合はどうでしょうか?キャッシュなしでは、は1か所にあります。

私はSDWebImage全体のキャッシングを無効にする方法を知っていますが、setImageWithUrl: placeholderImage:を呼び出す方法はわかりません。SDWebImageでキャッシュが使用されていないことを確認しますか?

私はこれをやりたいのですが、私はそれを使ってテーブルビューでウェブカメラを表示しています(毎回これを更新したいと思います)。

答えて

6

UIImageViewのカテゴリから離れ、独自のバージョンのSDWebImageManagerを作成することをお勧めします。自分でクラスSDImageCacheを使用すると、より多くのコントロールが得られます。

右SDWebImageManager自体から相続人と例:

[[SDImageCache sharedImageCache] storeImage:image 
            imageData:downloader.imageData 
            forKey:[downloader.url absoluteString] 
            toDisk:NO]; 

toDiskは、私はNOにBOOLを変更した場合、デフォルトの管理者は、ディスクキャッシュを使用すると考えられます。また、あなたのストリーミング映像をサポートするためにしょっちゅうメモリをクリアすることもできます。

[[SDImageCache sharedImageCache] clearMemory]; 

SDWebImageManagerコードは従うことは簡単ですし、私はあなたがそれのほとんど、ちょうどいくつかの重要な部分を改革する必要はありません想像しますあなたのニーズに合わせて

3

ここに行きます。 SDWebImageManager.hから

[anImageView setImageWithURL:[NSURL URLWithString:@"http://asite.com/animage.jpg"] 
      placeholderImage:[UIImage imageNamed:@"placeholder.png"] 
        options:SDWebImageCacheMemoryOnly]; 

/** 
* This flag disables on-disk caching 
*/ 
SDWebImageCacheMemoryOnly = 1 << 2, 
0

あなただけSDImageCacheからshouldCacheImagesInMemoryプロパティを使用してNOに設定する必要がありますあなたがSDWebImageの最新バージョンを取得ことを確認してください。 この機能は3.7.4+で利用可能です。

0

SDWebImageDownloaderを使用できます。データをキャッシュしません。

関連する問題