allow imageRequestOperation to be cancelled

This commit is contained in:
Peter Steinberger 2011-09-12 17:19:57 +02:00
parent 714ccc1905
commit bd6fc88c01

View file

@ -87,6 +87,9 @@ static NSString * const kUIImageViewImageRequestObjectKey = @"imageRequestOperat
block:(void (^)(UIImage *image))block
{
if (!url) {
// stop loading image
[self.imageRequestOperation cancel];
self.imageRequestOperation = nil;
return;
}
@ -105,6 +108,7 @@ static NSString * const kUIImageViewImageRequestObjectKey = @"imageRequestOperat
self.image = placeholderImage;
self.imageRequestOperation = [AFImageRequestOperation operationWithRequest:request imageSize:imageSize options:options success:^(UIImage *image) {
if (self.imageRequestOperation && ![self.imageRequestOperation isCancelled]) {
if ([[request URL] isEqual:[[self.imageRequestOperation request] URL]]) {
self.image = image;
} else {
@ -114,6 +118,7 @@ static NSString * const kUIImageViewImageRequestObjectKey = @"imageRequestOperat
if (block) {
block(image);
}
}
}];
[[[self class] sharedImageRequestOperationQueue] addOperation:self.imageRequestOperation];