从 SDWebImage 中删除图像缓存
Remove image cache from SDWebImage
我无法删除由 SDWebImage 缓存的图像缓存。
我正在使用“UIImageView+UIActivityIndicatorForSDWebImage.h”
我正在使用此代码缓存图像。
[cell.imageView setImageWithURL:url placeholderImage:[UIImage imageNamed:@"image_icon.png"] usingActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
现在有时我想删除图像的缓存,因为有时相同的 url 会通过服务器给我另一个图像。
我正在使用此代码删除图像缓存。
[[SDImageCache sharedImageCache] removeImageForKey:[self.imgArray objectAtIndex:indexForDelete] fromDisk:YES];
但是给我的错误是:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDictionaryM UTF8String]:
unrecognized selector sent to instance 0x7fcb01f9bf70'
如何删除缓存??
SDWebImage 中的方法 - (void)removeImageForKey:(NSString *)key fromDisk:(BOOL)fromDisk
以 NSString
作为参数。
在您上面的代码中,看起来 [self.imgArray objectAtIndex:indexForDelete]
给了您一个 NSDictionary
对象,因此发生了崩溃。
所以你需要这样的东西;
NSDictionary *imageDictionary = [self.imgArray objectAtIndex:indexForDelete];
NSString *cacheKeyToDelete = [imageDictionary objectForKey:@"YourKeyForImageCacheKey"];
[[SDImageCache sharedImageCache] removeImageForKey:cacheKeyToDelete fromDisk:YES];
在swift
SDImageCache.shared.removeImage(forKey: _imageURL?.description, withCompletion: nil)
试试这个,用 SDWebImageRefreshCached 选项更新单个图像 url。
Objective-C:
[self.imageView sd_setImageWithURL:[NSURL URLWithString:urlStr] placeholderImage:[UIImage imageNamed:@"???"] options:SDWebImageRefreshCached];
Swift: 你可以按方法名翻译一下
我无法删除由 SDWebImage 缓存的图像缓存。 我正在使用“UIImageView+UIActivityIndicatorForSDWebImage.h” 我正在使用此代码缓存图像。
[cell.imageView setImageWithURL:url placeholderImage:[UIImage imageNamed:@"image_icon.png"] usingActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
现在有时我想删除图像的缓存,因为有时相同的 url 会通过服务器给我另一个图像。
我正在使用此代码删除图像缓存。
[[SDImageCache sharedImageCache] removeImageForKey:[self.imgArray objectAtIndex:indexForDelete] fromDisk:YES];
但是给我的错误是:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDictionaryM UTF8String]: unrecognized selector sent to instance 0x7fcb01f9bf70'
如何删除缓存??
SDWebImage 中的方法 - (void)removeImageForKey:(NSString *)key fromDisk:(BOOL)fromDisk
以 NSString
作为参数。
在您上面的代码中,看起来 [self.imgArray objectAtIndex:indexForDelete]
给了您一个 NSDictionary
对象,因此发生了崩溃。
所以你需要这样的东西;
NSDictionary *imageDictionary = [self.imgArray objectAtIndex:indexForDelete];
NSString *cacheKeyToDelete = [imageDictionary objectForKey:@"YourKeyForImageCacheKey"];
[[SDImageCache sharedImageCache] removeImageForKey:cacheKeyToDelete fromDisk:YES];
在swift
SDImageCache.shared.removeImage(forKey: _imageURL?.description, withCompletion: nil)
试试这个,用 SDWebImageRefreshCached 选项更新单个图像 url。
Objective-C:
[self.imageView sd_setImageWithURL:[NSURL URLWithString:urlStr] placeholderImage:[UIImage imageNamed:@"???"] options:SDWebImageRefreshCached];
Swift: 你可以按方法名翻译一下