[Swift][XCode][exception]Application tried to present modally a view controller

XCode
Swift 5.0

# Application tried to present modally a view controller

> app due to uncaught exception 'NSInvalidArgumentException',
 reason: 'Application tried to present modally a view controller <"ProjectName.ViewController: 0xXXXXXXXXXX"> 
.that has a parent view controller 

こんにちは、久しぶりの投稿です。
最近は、Swift の勉強を再履修（自習）しているのですが、
初期のエラーなどをまとめていきたいなと思って今回、書き始めました。

```swift:sample.swift 
extension UIViewController {
  // TODO: 何か処理する
}
```

便利だなと思って色々追加してみたりしていたのですが

今回はこちらのエラーが出ました。

## Application tried to present modally a view controller
Google 和訳すると
アプリケーションがビューコントローラをモーダルに提示しようとしました

> app due to uncaught exception 'NSInvalidArgumentException',
 reason: 'Application tried to present modally a view controller <"ProjectName.ViewController: 0xXXXXXXXXXX"> 
.that has a parent view controller 

キャッチされなかった例外によるアプリ '無効な引数の例外'、
理由： 'アプリケーションがビューコントローラーをモーダルに提示しようとしました<"ProjectName.ViewController：0xXXXXXXXXXX">
。親ビューコントローラーがあります



自身のnavigationController を自身の　navigationController
を 

###　error 例
```swift:sample.swift｜抜粋
  if let nav = self.navigationController {

   self.present(nav, animated: true) { /// ここでエラー
    // <#何らかの処理#>
    print(self.className + " : " + #function + "======> GO")
   }
  
  }
```

###　error 修正
```swift:sample.swift｜抜粋
  if let nav = self.navigationController {
   
   + nav.pushViewController(vc, animated: true)
   + // <#何らかの処理#>
   + print(self.className + " : " + #function + "======> navi GO")

  + } else {
  +
    self.present(nav, animated: true) { /// ここでエラー
      // <#何らかの処理#>
      print(self.className + " : " + #function + "======> GO")
    }
  }
```

自身のナビゲーションにナビゲートできないということですね。
まぁそりゃそうだわって思いました。

## 今回出てきたエラー
### NSInvalidArgumentException

> Invalid Argument Exception / 無効な引数の例外


## <"ProjectName.ViewController：0xXXXXXXXXXX">

> ここには、自身のエラーが起きた時の、ファイル名及びクラスデータが出てます

# 最後に

UIViewController で extention すると便利と思いきや結構こういうエラーが出てきたりするので共有化する時にいろんなパターンを想定して作れるようになれたらなって思います。

> 参考文献
> https://qiita.com/shuuujin/items/d91ffc03516a5eaef8d0
> エラー「Application tried to present modally a view controller ...

---

【About】(http://qiita.com/sunstripe) - サンストライプ

---

## 制作チーム：サンストライプ

[![sunstripe_logo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80600/322f2d60-f19d-af9e-2b6f-7290ca546848.png)](http://sunstripe.main.jp/)
http://sunstripe.main.jp/

(月１ WEBコンテンツをリリースして便利な世の中を作っていくぞ！！ボランティアプログラマー/デザイナー/イラストレーター/その他クリエイター声優募集中!!)

緩募


### 地域情報 THEメディア
THE メディア 地域活性化をテーマに様々なリリース情報も含め、記事をお届けしてます！！
https://the.themedia.jp/

### ゼロからはじめる演劇ワークショップ
多様化の時代に向けて他者理解を鍛える

https://workshop.themedia.jp/

### プログラミングワークショップ・ウェブ塾の開講！！！
様々なテーマでプログラミングに囚われずに取り組んでいきます。
詳しくはこちら　↓　↓　↓　↓　↓　↓　↓　↓
[プログラミングサロン 月１だけのプログラミング学習塾](https://workshop.themedia.jp/posts/7057553?fbclid=IwAR32CfRQ7RvDOhvuogoSwqxDLMOU7Jvuzljlnx-TMc27qBPX1BnWsfLcBR8
)

### 協力応援 / 支援者の集い
## チーム：サンストライプ
https://twitter.com/sunstripe2011

#### プログラミングラボ
https://twitter.com/PLab2020

一緒にポートフォリオを作りませんか？現場の体験やそれぞれの立場から年齢関係なく作品を作りたい方々と一緒にチームを作って、作品を作っています。現場に行きたい人には、職場紹介や職場の体験や悩み相談なども受けております。
様々な職種からプログラミングの知識を得たい、デザインの知識を得たい、データーベースの知識を得たいという人が集まっております。
週１のミーティングにそれぞれの近況と作業報告して、たまにリモート飲み会などをしております！！

興味がある方は、DMに話しかけてみてください。

#### トラストヒューマン
http://trusthuman.co.jp/
私たちは何よりも信頼､人と考えてます｡

｢コンサルティング｣と｢クリエイティブ｣の両角度から｢人材戦略パートナー｣としてトータル的にサポートします！！

### キャリア教育事業

#### 青空プログラミング
[![青空プログラミング100px.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80600/603d53ab-828b-645e-a415-1b6f158d7356.png)](https://actcoin.jp/project/detail.php?id=600)

[![ダウンロード (9).jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80600/9bde9318-28c2-ce74-d4c5-326168061bcc.jpeg)](https://www.youtube.com/hashtag/%E9%9D%92%E7%A9%BA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)

#### 広域学習支援プラットフォーム『のびのび日和』
https://slc-lab.amebaownd.com/

#スポンサー募集

## ネリム
https://nerim.co.jp/
配信事業などを映像コンテンツなどの制作しております

## ビヨンドXプロジェクト

[ビヨンドXプロジェクト全体会議](https://www.youtube.com/playlist?list=PLaR6-YWiGWkYhEHWnt8f1z-JC0g3nwwC9)