【Swift5】ViewController を閉じる dismiss の俺的変遷

ViewController を dismiss する処理、iOSエンジニアになって3回ほど変えてきたので、なんとなくまとめます _(┐「ε:)_

IBAction で閉じる

初めて dismiss を実装した時はこの方法でした。
dismiss ならこれって感じで、iOSエンジニアになってから、なんの疑いもなく3年ほどこれでやってた気がしますw

UIStoryboard の Exit で閉じる

上の IBAction で閉じる方法がメンドくさくなりまして。
Storyboard だけで閉じる方法とかないのかなーと思って調べたのがキッカケでしたww
Storyboard だけで閉じる事は出来ないし、IBAction と大差ないですけど記載しま。
まず、閉じたい ViewController に以下のコードを追加します。

追加したら Storyboard に移動します。
Controlキーを押しながら閉じるボタンを Exitアイコンまでドラッグします。

自動で表示されるポップアップ内に unwindToTopWithSegue: が増えてるので、選択して実行。
これで閉じるのですが、ふーんって感じでした。
感動もクソもなかったので、これは使ったり使わなかったり。w

Segue で閉じる

これは使いました!というか今も使ってますw
個人的にこれが一番オススメです。
まず UIStoryboardSegue を継承しているカスタムクラスを以下のように作成。

作成後、Storyboard に移動します。
Exit の時と同じく、Controlキーを押しながら閉じるボタンを ViewControllerアイコンまでドラッグ。
dismiss という項目が増えているので選択。

以上です!
クラスを定義しておけば、どこでも使いまわせるのに感動したのを覚えてます (۶•̀ᴗ•́)۶
ちなみに作成したクラス名が「HogeSampleSegue」だと「hoge sample」と表示されます。

違うよ!とかこういう方法あるよ!ってのがあれば教えてください。
では( ¯·ω·¯ )

コメント