1

SDWebImage (SDImageCache) の最新バージョンを使用しており、コードで画像を保存しています

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

アプリフォルダーを確認したので、画像が正常に保存されたと確信しています。その中に画像が存在します。

そして私は使用しています

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

私の画像を読み出そうとしましたが、画像オブジェクトは nil を返します。問題は何でしょうか?ありがとうございました!

4

1 に答える 1

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

うまくいけば、それはあなたを助けるでしょう.

于 2013-02-07T12:59:52.310 に答える