diff --git a/AsyncDisplayKit/ASCellNode.m b/AsyncDisplayKit/ASCellNode.m index 88c64b32ad..2d82a8bfab 100644 --- a/AsyncDisplayKit/ASCellNode.m +++ b/AsyncDisplayKit/ASCellNode.m @@ -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];