【SwiftUI】Fatal error: Unexpectedly found nil while unwrapping an Optional valueの対応方法を日本語で解説

この記事では、SwiftUIのFatal error: Unexpectedly found nil while unwrapping an Optional valueの対応方法を日本語で解説します。

 

◆動作検証環境

・ローカル環境:mac Catalina
・XCode:12.1
・SwiftUI:2.0

 

スポンサードリンク

Fatal error: Unexpectedly found nil while unwrapping an Optional valueの発生原因

 

MVVMを利用して開発しているアプリなどは、ObservableObject プロトコルに適合させたクラスを利用して、アプリ共通の変数を利用する機会が多いです。

 

アプリ共通の値をViewを、View内に設置したボタンタップなどのイベントによって、取得し表示させる場合に、今回のテーマであるFatal error: Unexpectedly found nil while unwrapping an Optional value のエラーに出会う事があります。

Fatal error: Unexpectedly found nil while unwrapping an Optional valueの対応方法

 

 

下記のようなコードだと、Viewを表示した際にアンラップしても値がないためエラーとなります。

 

Fatal error: Unexpectedly found nil while unwrapping an Optional valueの解決方法

 

そこでText(appState!.name) を下記のように、デフォルトの値をもたせる事で解決できます。

イベントが発生して新しい値が取得されると、デフォルトの値から取得した値へ表示が変化します。

"""defaultName" にすると、Viewが呼ばれた時は、defaultNameと表示されます。

 


以上、SwiftUIで発生する、Fatal error: Unexpectedly found nil while unwrapping an Optional valueの対応方法を解説しました。