diff --git a/Classes/BITHTTPOperation.m b/Classes/BITHTTPOperation.m index 0f81c8672c..cb232c30ad 100644 --- a/Classes/BITHTTPOperation.m +++ b/Classes/BITHTTPOperation.m @@ -93,15 +93,16 @@ } - (void)setCompletion:(BITNetworkCompletionBlock)completion { - __weak typeof(self) weakSelf = self; - if(nil == completion) { + if(!completion) { [super setCompletionBlock:nil]; } else { + __weak typeof(self) weakSelf = self; [super setCompletionBlock:^{ typeof(self) strongSelf = weakSelf; if(strongSelf) { dispatch_async(dispatch_get_main_queue(), ^{ completion(strongSelf, strongSelf->_data, strongSelf->_error); + [strongSelf setCompletionBlock:nil]; }); } }];