我正在使用最新版本的SDWebImage(SDImageCache),并按代码保存图像
[[SDImageCache sharedImageCache] storeImage:image forKey:@"1"];
我确定图像已成功保存,因为我已经检查了我的应用文件夹,其中有一个图像。
我正在使用
UIImage *image = [[SDImageCache sharedImageCache] imageFromMemoryCacheForKey:@"1"];
读取我的图像,但图像对象返回nil。 问题是什么?谢谢!
答案 0 :(得分:3)
使用时:
- (void)storeImage:(UIImage *)image forKey:(NSString *)key
图像也保存在磁盘缓存中。
实现类似于:
- (void)storeImage:(UIImage *)image forKey:(NSString *)key
{
[self storeImage:image imageData:nil forKey:key toDisk:YES];
}
因此,如果您需要从磁盘中检索图像,则可以使用以下方法:
- (void)queryDiskCacheForKey:(NSString *)key done:(void (^)(UIImage *image, SDImageCacheType cacheType))doneBlock;
默认磁盘缓存类型为SDImageCacheTypeNone
,因此如果您需要指定缓存类型,请使用SDImageCacheType
枚举。
enum SDImageCacheType
{
/**
* The image wasn't available the SDWebImage caches, but was downloaded from the web.
*/
SDImageCacheTypeNone = 0,
/**
* The image was obtained from the disk cache.
*/
SDImageCacheTypeDisk,
/**
* The image was obtained from the disk cache.
*/
SDImageCacheTypeMemory
};
希望,它会帮助你。