Swiftでの初期ビューコントローラーの設定方法とエラーの解決方法


  1. 初期ビューコントローラーの設定方法:

Swiftで初期ビューコントローラーを設定するには、以下の手順を実行します。

1.1 メインストーリーボード(Main.storyboard)を開きます。 1.2 初期ビューコントローラーにしたいビューコントローラーを選択します。 1.3 属性インスペクター(Attributes Inspector)で、「Is Initial View Controller」オプションをチェックします。

これにより、指定したビューコントローラーがアプリの起動時に表示される初期ビューコントローラーとして設定されます。

  1. エラー解決方法:

2.1 error: ' Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present modally an active controller '

上記のエラーメッセージは、ビューコントローラーが既に表示されている状態でモーダルビューを表示しようとした場合に発生します。このエラーを解決するには、以下の手順を実行します。

  • モーダルビューを表示する前に、既に表示されているビューコントローラーを閉じるか非表示にします。
  • モーダルビューの表示を遅延させるために、dispatchQueueを使用します。

以下に、コード例を示します。

// モーダルビューを表示するボタンがタップされた時のアクションメソッド
@IBAction func showModalButtonTapped(_ sender: UIButton) {
    // 既に表示されているビューコントローラーを閉じる
    self.dismiss(animated: true, completion: nil)

    // モーダルビューの表示を遅延させる
    DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
        let modalViewController = ModalViewController()
        self.present(modalViewController, animated: true, completion: nil)
    }
}

上記のコードでは、dismiss(animated:completion:)メソッドを使用して既に表示されているビューコントローラーを閉じ、DispatchQueue.main.asyncAfter(deadline:execute:)メソッドを使用してモーダルビューの表示を遅延させています。