diff --git a/TMCache/TMCache.m b/TMCache/TMCache.m index afba609..4c365bb 100644 --- a/TMCache/TMCache.m +++ b/TMCache/TMCache.m @@ -66,8 +66,14 @@ + (instancetype)sharedCache - (void)objectForKey:(NSString *)key block:(TMCacheObjectBlock)block { - if (!key || !block) + if (!key || !block) { + if (block) { + dispatch_async(_queue, ^{ + block(self, key, nil); + }); + } return; + } __weak TMCache *weakSelf = self; @@ -120,8 +126,14 @@ - (void)objectForKey:(NSString *)key block:(TMCacheObjectBlock)block - (void)setObject:(id )object forKey:(NSString *)key block:(TMCacheObjectBlock)block { - if (!key || !object) + if (!key || !object) { + if (block) { + dispatch_async(_queue, ^{ + block(self, key, nil); + }); + } return; + } dispatch_group_t group = nil; TMMemoryCacheObjectBlock memBlock = nil; @@ -160,8 +172,14 @@ - (void)setObject:(id )object forKey:(NSString *)key block:(TMCacheObj - (void)removeObjectForKey:(NSString *)key block:(TMCacheObjectBlock)block { - if (!key) + if (!key) { + if (block) { + dispatch_async(_queue, ^{ + block(self, key, nil); + }); + } return; + } dispatch_group_t group = nil; TMMemoryCacheObjectBlock memBlock = nil; @@ -237,8 +255,14 @@ - (void)removeAllObjects:(TMCacheBlock)block - (void)trimToDate:(NSDate *)date block:(TMCacheBlock)block { - if (!date) + if (!date) { + if (block) { + dispatch_async(_queue, ^{ + block(self); + }); + } return; + } dispatch_group_t group = nil; TMMemoryCacheBlock memBlock = nil;