我正在使用最新版本的SDWebImage(SDImageCache),并按代码保存图像
[[SDImageCache sharedImageCache] storeImage:image forKey:@"1"];
并且我确定图片已成功保存,因为我已经检查了我的应用文件夹,其中存在图片。
我正在使用
UIImage *image = [[SDImageCache sharedImageCache] imageFromMemoryCacheForKey:@"1"];
读取我的图像,但是图像对象返回nil。
可能是什么问题?谢谢!
最佳答案
使用时:
- (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
};
希望对您有帮助。
关于iphone - SDImageCache-imageFromMemoryCache返回nil,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14749995/