入門書では教えてもらえなかった、よりシンプルにdismissを記述する方法を学んだので記載します。
入門書等でのdismiss(コード補完をそのまま利用した場合)
dismiss(animated: true, completion: nil)
よりシンプルなdismiss
dismiss(animated: true)
なぜ、completionを省略出来るのか?
・Apple 公式ドキュメントより
completion: (() -> void)? = nil)
の記載がある通り、completionに引数を渡さない場合は何も記述しなくてもnilが渡されるので、compolisionは省略することが出来ます。
で、completionって何?
completionは、
ViewControllerがdismiss(破棄)された後に、処理を実行する為のブロックで、何のreturnの値もパラメーターの値も持ちません。
多分、あなたはこの引数にnil入れるかもしれませんね。
とのことです。笑
completionは、完了、達成という意味なので、
メソッドが完了した時に実行される処理のかたまり(ブロック)
と覚えるのが良さそう。
ちなみにいつ実行されるのか?
・Apple 公式ドキュメントより
viewDidDisappearが呼ばれた後にcompletionブロック内の処理が実行されるようです。
Appleの公式ドキュメント見るの少し楽しくなってきたので少しずつでも英語の勉強も兼ねて読んでいきたいと思います。
参考:Apple 公式ドキュメント(dismiss)