Swift 5でのUIViewControllerの解放方法


  1. dismissメソッドを使用する方法: UIViewControllerを解放する最も一般的な方法は、dismissメソッドを使用することです。このメソッドは、現在のUIViewControllerを閉じて、元の画面に戻るために使用されます。以下は、dismissメソッドを使用する基本的なコード例です。
self.dismiss(animated: true, completion: nil)

このコードでは、selfは現在のUIViewControllerを表します。animatedパラメータは、UIViewControllerをアニメーションで閉じるかどうかを指定します。completionパラメータには、UIViewControllerが閉じられた後に実行する任意の処理を指定できます。

  1. UINavigationControllerを使用する方法: もし、UIViewControllerがUINavigationControllerに埋め込まれている場合、解放するためにはUINavigationControllerのpopViewControllerメソッドを使用することもできます。以下は、popViewControllerメソッドを使用する基本的なコード例です。
self.navigationController?.popViewController(animated: true)

このコードでは、self.navigationControllerは現在のUIViewControllerが埋め込まれているUINavigationControllerを表します。popViewControllerメソッドは、UINavigationControllerのスタックから現在のUIViewControllerを削除し、前の画面に戻ります。

  1. プレゼンテーションスタイルを使用する方法: UIViewControllerをモーダル表示する場合、解放するためにはプレゼンテーションスタイルを使用することができます。以下は、プレゼンテーションスタイルを使用してUIViewControllerを解放する基本的なコード例です。
self.dismiss(animated: true) {
    // 解放された後に実行する処理
}

このコードでは、self.dismissanimatedパラメータをtrueに設定しています。また、解放された後に実行する処理をdismissメソッドのクロージャ内に記述することもできます。