我正在使用最新版本的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/

10-13 07:41