1

ここでAsyncImageViewクラスを使用しています。ドキュメントでは、「デフォルトでは、ロードされたすべての画像がキャッシュされる」と言っています。ドキュメントの最後の段落で確認できます。

しかし、問題は、画像を再度ロードしようとすると、プレースホルダーが付属し、前回正常にロードされた場合でも、URL から画像を再度ロードするのに数秒かかることです。

つまり、キャッシュされていませんよね?
私のコードに問題があるかどうかを尋ねていますか?
を使用するように画像がキャッシュされないのはなぜSDWebImageですか?

これらは私のコードです:

AsyncImageView *imageView = [[AsyncImageView alloc] initWithFrame:CGRectMake(0, 0, productCellWidth, productCellHeight)];
imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.clipsToBounds = YES;
NSURL *URL =  [NSURL URLWithString:[NSString stringWithFormat:ProductPicture]];
[AsyncImageLoader defaultCache];
[[AsyncImageLoader sharedLoader]loadImageWithURL:URL target:self success:@selector(successSelector) failure:@selector(failureSelector)];
4

4 に答える 4

1

以前に使用した別のライブラリがあり、「SDWebImage」と呼ばれるこのライブラリはうまく機能しています。メソッドで簡単に使用できます。

[imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
               placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

画像を自動的にキャッシュし、キャッシュからの読み込みのみをサポートします (必要な場合)。

于 2012-11-24T10:00:01.897 に答える
0

私にはあなたのコードは間違っているように見えます。AsyncImageViewのimageURLを設定するだけです。

あなたはローダーを扱っていません

于 2012-11-24T10:51:02.423 に答える
-2

私はこの問題を解決しました:追加する必要があります

#import "AsyncImageView.h"

あなたのファイルで.m

と使用

NSURL *url = [NSURL URLWithString:yourUrlString];
photo.imageURL = url; 

またはたとえば

cell.imageView.imageURL = url;

ではない

UIImage *theImage = [UIImage imageWithData:imageData];
photo.image = theImage;
于 2014-01-10T12:49:57.620 に答える