mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2026-01-06 21:22:44 +00:00
[ASMultidimensionalArrayUtils]
- optimized ASRecursivelyFindIndexPathsForMultidimensionalArray() to remove enumerateUsingBlock: - replaced single project call to ASIndexPathsForMultidimensionalArray() in ASRangeController with ASIndexPathsForTwoDimensionalArray()
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user