diff --git a/AsyncDisplayKit/Details/ASRangeController.mm b/AsyncDisplayKit/Details/ASRangeController.mm index c9fffb4cd0..10ea6c2a0f 100644 --- a/AsyncDisplayKit/Details/ASRangeController.mm +++ b/AsyncDisplayKit/Details/ASRangeController.mm @@ -134,6 +134,11 @@ static UIApplicationState __ApplicationState = UIApplicationStateActive; dispatch_async(dispatch_get_main_queue(), ^{ [self _updateVisibleNodeIndexPaths]; + for (void (^completionBlock)(void) in _scheduledRangeUpdateCompletionBlocks) { + completionBlock(); + } + [_scheduledRangeUpdateCompletionBlocks removeAllObjects]; + dataSource = nil; delegate = nil; }); @@ -336,11 +341,6 @@ static UIApplicationState __ApplicationState = UIApplicationStateActive; _rangeIsValid = YES; _queuedRangeUpdate = NO; - for (void (^completionBlock)(void) in _scheduledRangeUpdateCompletionBlocks) { - completionBlock(); - } - [_scheduledRangeUpdateCompletionBlocks removeAllObjects]; - #if ASRangeControllerLoggingEnabled // NSSet *visibleNodePathsSet = [NSSet setWithArray:visibleNodePaths]; // BOOL setsAreEqual = [visibleIndexPaths isEqualToSet:visibleNodePathsSet];