A:ChildViewController:
[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
B: 親ViewController:
[self dismissViewControllerAnimated:YES completion:nil];
A と B の違いは何ですか?
A:ChildViewController:
[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
B: 親ViewController:
[self dismissViewControllerAnimated:YES completion:nil];
A と B の違いは何ですか?
dismissModalViewControllerAnimated:
は廃止された API であり、よりブロックベースの API に移行する前に Apple によって公開されました。Vizlix とは異なり、dismissModalViewControllerAnimated:
絶対に使用しないでください。それを使用するといくつかの特有の副作用があり、 と を使用すると消えるため、Apple ではもはやメンテナンスされていないか、少なくとも適切ではありませpresentViewController:animated:completion:
んdismissViewControllerAnimated:completion:
。古い API は、古い iOS バージョンのみを対象とする特定のコード パスでのみ使用する必要があります。私が話している副作用は、少なくとも iOS6 からのものです。
その上、ブロックベースの API は、古いスタイルの API では不可能な機能を提供します (たとえば、push;pop API に欠けている機能)。ビュー コントローラ イベントのチェーンを作成する必要があると想像してください。アニメーションがいつ終了したかを知らずに、別のアニメーションの進行中に別のアニメーションを実行すると、バグが発生する可能性が高くなります。ブロックベースの API を使用すると、このようなイベントを簡単に連鎖させることができます。