と呼ばれていません。dismissViewControllerAnimated完了ブロックは、私はこのようなビューコントローラを解任しようとしている
[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];
' addChildViewControllerを呼び出すことなく
- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion
をオーバーライドしていました。そのブロックが起動する前にそれをポップする必要があります – CodaFi'' dismiss ... 'を呼び出す前に '[composeViewController removeFromParentViewController];'( 'rootViewController'の' childViewControllers'プロパティから削除されているのがわかりますが)ブロックはまだ呼び出されません。 –
poナビゲーションスタック。 – CodaFi