mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-11 00:40:25 +00:00
[ASViewController] Ensure we retain a reference to the UIVC object returned by the initWithViewController: block.
This commit is contained in:
parent
edd567a91d
commit
cc07d77d68
@ -27,6 +27,7 @@
|
||||
ASDisplayNodeViewControllerBlock _viewControllerBlock;
|
||||
ASDisplayNodeDidLoadBlock _viewControllerDidLoadBlock;
|
||||
ASDisplayNode *_viewControllerNode;
|
||||
UIViewController *_viewController;
|
||||
}
|
||||
|
||||
@end
|
||||
@ -63,15 +64,16 @@
|
||||
|
||||
if (_viewControllerBlock != nil) {
|
||||
|
||||
UIViewController *viewController = _viewControllerBlock();
|
||||
_viewController = _viewControllerBlock();
|
||||
_viewControllerBlock = nil;
|
||||
|
||||
if ([viewController isKindOfClass:[ASViewController class]]) {
|
||||
ASViewController *asViewController = (ASViewController *)viewController;
|
||||
if ([_viewController isKindOfClass:[ASViewController class]]) {
|
||||
ASViewController *asViewController = (ASViewController *)_viewController;
|
||||
_viewControllerNode = asViewController.node;
|
||||
[_viewController view];
|
||||
} else {
|
||||
_viewControllerNode = [[ASDisplayNode alloc] initWithViewBlock:^{
|
||||
return viewController.view;
|
||||
return _viewController.view;
|
||||
}];
|
||||
}
|
||||
[self addSubnode:_viewControllerNode];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user