我试图解雇这样的视图控制器:
[composeViewController dismissViewControllerAnimated:YES completion:^{ NSLog(@"Hello"); // Never outputted }];
视图控制器被解除,但由于某种原因,永远不会调用完成块.
我没有遇到任何与其他视图控制器没有调用完成块的问题.
这个视图控制器是“特殊的”,因为它被添加为子视图控制器(我以前没有在我的应用程序中使用过).这是否会产生任何副作用,为什么不调用完成块?
它是这样添加的:
UIViewController *rootVC = [UIApplication sharedApplication].delegate.window.rootViewController; [rootVC addChildViewController:self]; [rootVC.view addSubview:self.view]; [self didMoveToParentViewController:rootVC];
解决方法
找出问题所在:我使用的第三方视图控制器已被覆盖 – (void)dismissViewControllerAnimated:(BOOL)标志完成:(void(^)(void))完成而没有实际调用completion()