From 15b6f2e2811348fa94ee8d5e8dc131913df662ae Mon Sep 17 00:00:00 2001 From: Adlai Holler Date: Thu, 16 Jun 2016 17:10:33 -0700 Subject: [PATCH] [ASLayoutTransition] Optimize add/remove subnode methods --- AsyncDisplayKit/Private/ASLayoutTransition.mm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/AsyncDisplayKit/Private/ASLayoutTransition.mm b/AsyncDisplayKit/Private/ASLayoutTransition.mm index 67709cc302..560ac6135e 100644 --- a/AsyncDisplayKit/Private/ASLayoutTransition.mm +++ b/AsyncDisplayKit/Private/ASLayoutTransition.mm @@ -48,9 +48,12 @@ { ASDN::MutexLocker l(_propertyLock); [self calculateSubnodeOperationsIfNeeded]; - for (NSUInteger i = 0; i < [_insertedSubnodes count]; i++) { + + NSUInteger i = 0; + for (ASDisplayNode *node in _insertedSubnodes) { NSUInteger p = _insertedSubnodePositions[i]; - [_node insertSubnode:_insertedSubnodes[i] atIndex:p]; + [_node insertSubnode:node atIndex:p]; + i += 1; } } @@ -58,8 +61,8 @@ { ASDN::MutexLocker l(_propertyLock); [self calculateSubnodeOperationsIfNeeded]; - for (NSUInteger i = 0; i < [_removedSubnodes count]; i++) { - [_removedSubnodes[i] removeFromSupernode]; + for (ASDisplayNode *subnode in _removedSubnodes) { + [subnode removeFromSupernode]; } }