From fffc76a3533f3d6b0119d2396d0587bb2bc38559 Mon Sep 17 00:00:00 2001 From: Adlai Holler Date: Tue, 6 Oct 2015 13:21:42 -0700 Subject: [PATCH] Have ASMultiplexImageNode store its image request operation weakly --- AsyncDisplayKit/ASMultiplexImageNode.mm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/AsyncDisplayKit/ASMultiplexImageNode.mm b/AsyncDisplayKit/ASMultiplexImageNode.mm index 28b627bb6f..07945f98a0 100644 --- a/AsyncDisplayKit/ASMultiplexImageNode.mm +++ b/AsyncDisplayKit/ASMultiplexImageNode.mm @@ -66,7 +66,7 @@ typedef void(^ASMultiplexImageLoadCompletionBlock)(UIImage *image, id imageIdent id _loadedImageIdentifier; id _loadingImageIdentifier; id _displayedImageIdentifier; - NSOperation *_phImageRequestOperation; + __weak NSOperation *_phImageRequestOperation; // Networking. id _downloadIdentifier; @@ -547,7 +547,7 @@ typedef void(^ASMultiplexImageLoadCompletionBlock)(UIImage *image, id imageIdent [_phImageRequestOperation cancel]; __weak __typeof(self)weakSelf = self; - _phImageRequestOperation = [NSBlockOperation blockOperationWithBlock:^{ + NSOperation *newImageRequestOp = [NSBlockOperation blockOperationWithBlock:^{ __strong __typeof(weakSelf)strongSelf = weakSelf; if (strongSelf == nil) { return; } @@ -590,7 +590,8 @@ typedef void(^ASMultiplexImageLoadCompletionBlock)(UIImage *image, id imageIdent } }]; }]; - [phImageRequestQueue addOperation:_phImageRequestOperation]; + _phImageRequestOperation = newImageRequestOp; + [phImageRequestQueue addOperation:newImageRequestOp]; } - (void)_fetchImageWithIdentifierFromCache:(id)imageIdentifier URL:(NSURL *)imageURL completion:(void (^)(UIImage *image))completionBlock