mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-13 09:50:17 +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;
|
ASDisplayNodeViewControllerBlock _viewControllerBlock;
|
||||||
ASDisplayNodeDidLoadBlock _viewControllerDidLoadBlock;
|
ASDisplayNodeDidLoadBlock _viewControllerDidLoadBlock;
|
||||||
ASDisplayNode *_viewControllerNode;
|
ASDisplayNode *_viewControllerNode;
|
||||||
|
UIViewController *_viewController;
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
@ -63,15 +64,16 @@
|
|||||||
|
|
||||||
if (_viewControllerBlock != nil) {
|
if (_viewControllerBlock != nil) {
|
||||||
|
|
||||||
UIViewController *viewController = _viewControllerBlock();
|
_viewController = _viewControllerBlock();
|
||||||
_viewControllerBlock = nil;
|
_viewControllerBlock = nil;
|
||||||
|
|
||||||
if ([viewController isKindOfClass:[ASViewController class]]) {
|
if ([_viewController isKindOfClass:[ASViewController class]]) {
|
||||||
ASViewController *asViewController = (ASViewController *)viewController;
|
ASViewController *asViewController = (ASViewController *)_viewController;
|
||||||
_viewControllerNode = asViewController.node;
|
_viewControllerNode = asViewController.node;
|
||||||
|
[_viewController view];
|
||||||
} else {
|
} else {
|
||||||
_viewControllerNode = [[ASDisplayNode alloc] initWithViewBlock:^{
|
_viewControllerNode = [[ASDisplayNode alloc] initWithViewBlock:^{
|
||||||
return viewController.view;
|
return _viewController.view;
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
[self addSubnode:_viewControllerNode];
|
[self addSubnode:_viewControllerNode];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user