diff --git a/Cartfile b/Cartfile index f4cfdaa..6afb46b 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ -github "SDWebImage/SDWebImage" ~> 5.6 +github "SDWebImage/SDWebImage" ~> 5.7 github "ibireme/YYCache" ~> 1.0 github "ibireme/YYImage" ~> 1.0 diff --git a/Cartfile.resolved b/Cartfile.resolved index 7e13534..ef6622f 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ -github "SDWebImage/SDWebImage" "5.6.0" +github "SDWebImage/SDWebImage" "5.7.0" github "ibireme/YYCache" "1.0.4" github "ibireme/YYImage" "1.0.4" diff --git a/Example/Podfile.lock b/Example/Podfile.lock index aa76534..467cdf4 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,15 +1,15 @@ PODS: - Expecta (1.0.6) - - SDWebImage/Core (5.6.0) - - SDWebImageYYPlugin (0.3.0): - - SDWebImage/Core (~> 5.4) - - SDWebImageYYPlugin/YYCache (= 0.3.0) - - SDWebImageYYPlugin/YYImage (= 0.3.0) - - SDWebImageYYPlugin/YYCache (0.3.0): - - SDWebImage/Core (~> 5.4) + - SDWebImage/Core (5.7.0) + - SDWebImageYYPlugin (0.4.0): + - SDWebImage/Core (~> 5.7) + - SDWebImageYYPlugin/YYCache (= 0.4.0) + - SDWebImageYYPlugin/YYImage (= 0.4.0) + - SDWebImageYYPlugin/YYCache (0.4.0): + - SDWebImage/Core (~> 5.7) - YYCache - - SDWebImageYYPlugin/YYImage (0.3.0): - - SDWebImage/Core (~> 5.4) + - SDWebImageYYPlugin/YYImage (0.4.0): + - SDWebImage/Core (~> 5.7) - YYImage/Core - YYCache (1.0.4) - YYImage/Core (1.0.4) @@ -34,8 +34,8 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5 - SDWebImage: 21b19f56b4226cdfe3aefe4e6848dc43ed129a86 - SDWebImageYYPlugin: f6c1af162fb075efe5918d8caedee1f3d17c197e + SDWebImage: a99471f452bdfa0ca52ddf5b1adf2b61cab1d1eb + SDWebImageYYPlugin: daa0b74897dd769fa63092e60cde49f3719048bc YYCache: 8105b6638f5e849296c71f331ff83891a4942952 YYImage: 1e1b62a9997399593e4b9c4ecfbbabbf1d3f3b54 diff --git a/SDWebImageYYPlugin.podspec b/SDWebImageYYPlugin.podspec index 7b66efe..7704b07 100644 --- a/SDWebImageYYPlugin.podspec +++ b/SDWebImageYYPlugin.podspec @@ -31,7 +31,7 @@ TODO: Add long description of the pod here. s.source_files = 'SDWebImageYYPlugin/Module/SDWebImageYYPlugin.h' s.module_map = 'SDWebImageYYPlugin/Module/SDWebImageYYPlugin.modulemap' - s.dependency 'SDWebImage/Core', '~> 5.6' + s.dependency 'SDWebImage/Core', '~> 5.7' s.subspec 'YYCache' do |ss| ss.dependency 'YYCache' diff --git a/SDWebImageYYPlugin/Classes/YYCache/YYCacheBridge/YYCache+SDAdditions.m b/SDWebImageYYPlugin/Classes/YYCache/YYCacheBridge/YYCache+SDAdditions.m index 5ca9e07..e341d32 100644 --- a/SDWebImageYYPlugin/Classes/YYCache/YYCacheBridge/YYCache+SDAdditions.m +++ b/SDWebImageYYPlugin/Classes/YYCache/YYCacheBridge/YYCache+SDAdditions.m @@ -41,22 +41,29 @@ @implementation YYCache (SDAdditions) - (id)queryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(SDWebImageContext *)context completion:(SDImageCacheQueryCompletionBlock)doneBlock { + return [self queryImageForKey:key options:options context:context cacheType:SDImageCacheTypeAll completion:doneBlock]; +} + +- (id)queryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(SDWebImageContext *)context cacheType:(SDImageCacheType)queryCacheType completion:(SDImageCacheQueryCompletionBlock)doneBlock { if (!key) { if (doneBlock) { doneBlock(nil, nil, SDImageCacheTypeNone); } return nil; } - - id transformer = context[SDWebImageContextImageTransformer]; - if (transformer) { - // grab the transformed disk image if transformer provided - NSString *transformerKey = [transformer transformerKey]; - key = SDTransformedKeyForKey(key, transformerKey); + // Invalid cache type + if (queryCacheType == SDImageCacheTypeNone) { + if (doneBlock) { + doneBlock(nil, nil, SDImageCacheTypeNone); + } + return nil; } // First check the in-memory cache... - UIImage *image = [self.memoryCache objectForKey:key]; + UIImage *image; + if (queryCacheType != SDImageCacheTypeDisk) { + image = [self.memoryCache objectForKey:key]; + } if (image) { if (options & SDImageCacheDecodeFirstFrameOnly) { @@ -79,7 +86,7 @@ @implementation YYCache (SDAdditions) } } - BOOL shouldQueryMemoryOnly = (image && !(options & SDImageCacheQueryMemoryData)); + BOOL shouldQueryMemoryOnly = (queryCacheType == SDImageCacheTypeMemory) || (image && !(options & SDImageCacheQueryMemoryData)); if (shouldQueryMemoryOnly) { if (doneBlock) { doneBlock(image, nil, SDImageCacheTypeMemory);