Two observers get added every time downloaderWithURL is called, which is unnecessary and seems to result in an imbalance in SDNetworkActivityIndicator between startActivity and stopActivity calls (which leads to the indicator not showing when it should during any initial app activity).

This fix is possibly not ideal, but it does the trick.
This commit is contained in:
Tom von Schwerdtner 2012-03-28 16:27:31 -03:00
parent dfa03af19f
commit 6ca759f182
1 changed files with 6 additions and 0 deletions

View File

@ -41,7 +41,13 @@ NSString *const SDWebImageDownloadStopNotification = @"SDWebImageDownloadStopNot
// To use it, just add #import "SDNetworkActivityIndicator.h" in addition to the SDWebImage import
if (NSClassFromString(@"SDNetworkActivityIndicator"))
{
id activityIndicator = [NSClassFromString(@"SDNetworkActivityIndicator") performSelector:NSSelectorFromString(@"sharedActivityIndicator")];
// Remove observer in case it was previously added.
[[NSNotificationCenter defaultCenter] removeObserver:activityIndicator name:SDWebImageDownloadStartNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:activityIndicator name:SDWebImageDownloadStopNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:activityIndicator
selector:NSSelectorFromString(@"startActivity")
name:SDWebImageDownloadStartNotification object:nil];