From 8963f996e9db7162fc9ff70c2389ab190fa2e506 Mon Sep 17 00:00:00 2001 From: Olivier Poitrey Date: Sun, 4 Nov 2012 01:51:19 +0100 Subject: [PATCH] Add cancelAll method (fix #168) --- SDWebImage/SDWebImageManager.h | 5 +++++ SDWebImage/SDWebImageManager.m | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/SDWebImage/SDWebImageManager.h b/SDWebImage/SDWebImageManager.h index f528720..f9fa73b 100644 --- a/SDWebImage/SDWebImageManager.h +++ b/SDWebImage/SDWebImageManager.h @@ -153,4 +153,9 @@ typedef NSString *(^CacheKeyFilter)(NSURL *url); */ - (void)cancelForDelegate:(id)delegate; +/** + * Cancel all current opreations + */ +- (void)cancelAll; + @end diff --git a/SDWebImage/SDWebImageManager.m b/SDWebImage/SDWebImageManager.m index 22e49b6..ab76576 100644 --- a/SDWebImage/SDWebImageManager.m +++ b/SDWebImage/SDWebImageManager.m @@ -209,6 +209,21 @@ static SDWebImageManager *instance; } } +- (void)cancelAll +{ + for (SDWebImageDownloader *downloader in downloaders) + { + [downloader cancel]; + } + [cacheDelegates removeAllObjects]; + [cacheURLs removeAllObjects]; + + [downloadInfo removeAllObjects]; + [downloadDelegates removeAllObjects]; + [downloaders removeAllObjects]; + [downloaderForURL removeAllObjects]; +} + #pragma mark SDImageCacheDelegate - (NSUInteger)indexOfDelegate:(id)delegate waitingForURL:(NSURL *)url