@@ -111,16 +111,18 @@ @implementation PINCache (SDAdditions)
111
111
112
112
@autoreleasepool {
113
113
UIImage *diskImage;
114
- SDImageCacheType cacheType = SDImageCacheTypeNone;
115
114
if (image) {
116
115
// the image is from in-memory cache, but need image data
117
116
diskImage = image;
118
- cacheType = SDImageCacheTypeMemory;
119
117
} else if (diskData) {
120
- cacheType = SDImageCacheTypeDisk;
118
+ BOOL shouldCacheToMomery = YES ;
119
+ if (context[SDWebImageContextStoreCacheType]) {
120
+ SDImageCacheType cacheType = [context[SDWebImageContextStoreCacheType] integerValue ];
121
+ shouldCacheToMomery = (cacheType == SDImageCacheTypeAll || cacheType == SDImageCacheTypeMemory);
122
+ }
121
123
// decode image data only if in-memory cache missed
122
124
diskImage = SDImageCacheDecodeImageData (diskData, key, options, context);
123
- if (diskImage) {
125
+ if (shouldCacheToMomery && diskImage) {
124
126
// Check extended data
125
127
NSData *extendedData = [self .diskCache extendedDataForKey: key];
126
128
if (extendedData) {
@@ -154,10 +156,10 @@ @implementation PINCache (SDAdditions)
154
156
155
157
if (doneBlock) {
156
158
if (shouldQueryDiskSync) {
157
- doneBlock (diskImage, diskData, cacheType );
159
+ doneBlock (diskImage, diskData, SDImageCacheTypeDisk );
158
160
} else {
159
161
dispatch_async (dispatch_get_main_queue (), ^{
160
- doneBlock (diskImage, diskData, cacheType );
162
+ doneBlock (diskImage, diskData, SDImageCacheTypeDisk );
161
163
});
162
164
}
163
165
}
0 commit comments