4

我正在使用SDWebImage加载图像列表,它非常好,但是在下次加载图像时,如果 url 相同,它会从缓存中加载图像。但我需要知道它即将到来的形式缓存或网络。任何帮助将不胜感激。

4

3 回答 3

2

查看 SDWebImageManager,它有 2 个版本的函数来检查 URL 是否已经被缓存:

- (BOOL)diskImageExistsForURL:(NSURL *)url;

还有一个版本带有一个在检查后执行的块。希望这可以帮助!

于 2015-05-07T02:03:33.753 回答
2

您可以检查缓存以查看相关图像是否已下载,如下所示:

NSString *key = [[SDWebImageManager sharedManager] cacheKeyForURL:URL];
UIImage *image = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:key];
于 2015-06-09T04:30:57.397 回答
0

use your url

SDWebImageManager *manager = [SDWebImageManager sharedManager];
UIImage *cachedImage = [manager imageWithURL:url];

if (cachedImage) 
{
   [button setImage:cachedImage];
   //image is cashed
}
else 
{
   [manager downloadWithURL:url delegate:self];
}

and then implement delegate function

- (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage*)image {
   [button setImage:image];
   // new image
}
于 2013-02-28T13:16:35.370 回答