[ReactNative] Create private underlying bridge to prevent retain cycles

This commit is contained in:
Tadeu Zagallo
2015-05-04 10:35:49 -07:00
parent b532ec000f
commit 132a9170f1
12 changed files with 522 additions and 349 deletions

View File

@@ -264,9 +264,13 @@ NSInteger kNeverProgressed = -10000;
NSInteger _numberOfViewControllerMovesToIgnore;
}
@synthesize paused = _paused;
- (id)initWithBridge:(RCTBridge *)bridge
{
if ((self = [super initWithFrame:CGRectZero])) {
_paused = YES;
_bridge = bridge;
_mostRecentProgress = kNeverProgressed;
_dummyView = [[UIView alloc] initWithFrame:CGRectZero];
@@ -341,14 +345,14 @@ NSInteger kNeverProgressed = -10000;
_dummyView.frame = (CGRect){{destination}};
_currentlyTransitioningFrom = indexOfFrom;
_currentlyTransitioningTo = indexOfTo;
[_bridge addFrameUpdateObserver:self];
_paused = NO;
}
completion:^(id<UIViewControllerTransitionCoordinatorContext> context) {
[weakSelf freeLock];
_currentlyTransitioningFrom = 0;
_currentlyTransitioningTo = 0;
_dummyView.frame = CGRectZero;
[_bridge removeFrameUpdateObserver:self];
_paused = YES;
// Reset the parallel position tracker
}];
}