画面遷移
Swift

Swift 二つ前の画面に戻る方法

二つ前の画面に戻る方法

アプリ開発をしている際に
ホーム画面 → メニュー画面 → A(仮)画面へと遷移する流れが出来ており、A画面からメニュー画面ではなく、ホーム画面まで一気に戻る仕様にしたいので2つ前の画面に戻る方法を調べました。

復習としてこちらに書かせて頂きます。

スクリーンショット 2018-11-10 0.08.51.png

こちらが使用した二つ前の画面に戻るコードです。

presentingViewController

presentingViewControllerというプロパティには、モーダル表示された遷移前の画面が格納されおり、上記の写真のように、presentingViewControllerを2回書いた場合は、2つ前のViewControllerを指定しています。なので上記のA画面からみて、2つ前のホーム画面を指定することができます。

dismiss

dismissは厳密には前の画面に戻るというメソッドではなく、ViewControllerを破棄するメソッドです。なので上記の場合、A画面でホーム画面を指定しています。そこでdismissを呼び出しているので、A画面とメニュー画面が破棄され、ホーム画面まで戻ります。

今後も使う機会がありそうなので忘れないようにしたいです!

下記のサイトを参考に書かせて頂きました。
https://yuu.1000quu.com/two_before_screen_return