[ASLayoutSpec] Use childrenMap directly to prevent creating an NSArray within ASDK (#1937)

* Use childrenMap directly to prevent creating an NSArray in ASDK for ASLayoutSpec children

* Add locking for parent property in ASLayoutSpec

* Remove unnecessary import

* Add newline

* Add NSFastEnumeration to ASEnvironment and ASDisplayNode / ASLayoutSpec

* Change NSMutableArray initializer to arrayWithCapacity:

* Move ASLayoutSpec+Private.h into Private folder

Fixes building with Swift

* Remove lock for ASLayoutSpec parent
This commit is contained in:
Michael Schneider
2016-07-29 10:53:31 -07:00
committed by Adlai Holler
parent 678df37017
commit c90ed08d10
9 changed files with 135 additions and 45 deletions

View File

@@ -289,8 +289,7 @@ ASVisibilityDepthImplementation;
self.node.environmentState = environmentState;
[self.node setNeedsLayout];
NSArray<id<ASEnvironment>> *children = [self.node children];
for (id<ASEnvironment> child in children) {
for (id<ASEnvironment> child in self.node) {
ASEnvironmentStatePropagateDown(child, environmentState.environmentTraitCollection);
}
}