SDImageCache - imageFromMemoryCache返回nil

时间:2013-02-07 11:27:15

标签: iphone ios xcode sdwebimage

我正在使用最新版本的SDWebImage(SDImageCache),并按代码保存图像

[[SDImageCache sharedImageCache] storeImage:image forKey:@"1"];

我确定图像已成功保存,因为我已经检查了我的应用文件夹,其中有一个图像。

我正在使用

UIImage *image = [[SDImageCache sharedImageCache] imageFromMemoryCacheForKey:@"1"];

读取我的图像,但图像对象返回nil。 问题是什么?谢谢!

1 个答案:

答案 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
};

希望,它会帮助你。