From 7f6ce4e9de27876d5b2e24989d67b4f201e22d8f Mon Sep 17 00:00:00 2001 From: Hannah Troisi Date: Mon, 14 Mar 2016 22:47:43 -0700 Subject: [PATCH] [ASMultidimensionalArrayUtils] - optimized ASRecursivelyFindIndexPathsForMultidimensionalArray() to remove enumerateUsingBlock: - replaced single project call to ASIndexPathsForMultidimensionalArray() in ASRangeController with ASIndexPathsForTwoDimensionalArray() --- AsyncDisplayKit/Details/ASRangeController.mm | 2 +- .../Private/ASMultidimensionalArrayUtils.mm | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/AsyncDisplayKit/Details/ASRangeController.mm b/AsyncDisplayKit/Details/ASRangeController.mm index d89d117af4..f83f6402b7 100644 --- a/AsyncDisplayKit/Details/ASRangeController.mm +++ b/AsyncDisplayKit/Details/ASRangeController.mm @@ -230,7 +230,7 @@ static UIApplicationState __ApplicationState = UIApplicationStateActive; _didUpdateCurrentRange = NO; if (!_rangeIsValid) { - [allIndexPaths addObjectsFromArray:ASIndexPathsForMultidimensionalArray(allNodes)]; + [allIndexPaths addObjectsFromArray:ASIndexPathsForTwoDimensionalArray(allNodes)]; } // TODO Don't register for notifications if this range update doesn't cause any node to enter rendering pipeline. diff --git a/AsyncDisplayKit/Private/ASMultidimensionalArrayUtils.mm b/AsyncDisplayKit/Private/ASMultidimensionalArrayUtils.mm index ced86ff5d1..f939410d6d 100644 --- a/AsyncDisplayKit/Private/ASMultidimensionalArrayUtils.mm +++ b/AsyncDisplayKit/Private/ASMultidimensionalArrayUtils.mm @@ -44,10 +44,12 @@ static void ASRecursivelyFindIndexPathsForMultidimensionalArray(NSObject *obj, N if (![obj isKindOfClass:[NSArray class]]) { [res addObject:curIndexPath]; } else { - NSArray *arr = (NSArray *)obj; - [arr enumerateObjectsUsingBlock:^(NSObject *subObj, NSUInteger idx, BOOL *stop) { - ASRecursivelyFindIndexPathsForMultidimensionalArray(subObj, [curIndexPath indexPathByAddingIndex:idx], res); - }]; + NSArray *array = (NSArray *)obj; + NSUInteger idx = 0; + for (NSArray *subarray in array) { + ASRecursivelyFindIndexPathsForMultidimensionalArray(subarray, [curIndexPath indexPathByAddingIndex:idx], res); + idx++; + } } }