不调用dismissViewControllerAnimated完成块

Pet*_*rbo 9 cocoa-touch objective-c uiviewcontroller ios objective-c-blocks

我试图解雇这样的视图控制器:

[composeViewController dismissViewControllerAnimated:YES completion:^{

    NSLog(@"Hello"); // Never outputted
}];
Run Code Online (Sandbox Code Playgroud)

视图控制器被解除,但由于某种原因,永远不会调用完成块.

我没有遇到任何与其他视图控制器没有调用完成块的问题.

这个视图控制器是"特殊的",因为它被添加为子视图控制器(我以前没有在我的应用程序中使用过).这是否会产生任何副作用,为什么不调用完成块?

它是这样添加的:

UIViewController *rootVC = [UIApplication sharedApplication].delegate.window.rootViewController;
[rootVC addChildViewController:self];
[rootVC.view addSubview:self.view];
[self didMoveToParentViewController:rootVC];
Run Code Online (Sandbox Code Playgroud)

Pet*_*rbo 1

找出问题所在:我正在使用的第 3 方视图控制器已被覆盖- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion而没有实际调用completion()