LoginSignup
2

More than 1 year has passed since last update.

posted at

updated at

Fatal error: Unexpectedly found nil while unwrapping an Optional valueについて

Swiftでよく見るこのエラー

Fatal error: Unexpectedly found nil while unwrapping an Optional value
まずは翻訳してみましょう!

オプショナル形の値のアンラップ中に予期せずnilが見つかりました

です。

Storyboardを使って開発してる方向けに言うと、

このエラーが起きたら、6割、関連付けができていないことが原因です!

この,6割ってのが割と大事。(※筆者の肌感覚です)

(6割方原因これ)関連付けが主な原因な場合

もしこのエラー文章が、@IBOutlet接続してるものが含まれる文章に書いてあるんだったら、
関連付けできてるか確認しましょう。

スクリーンショット 2020-06-13 10.47.39.png
お、こんなとこに白丸が!!

スクリーンショット 2020-12-13 15.01.58.png

XCodeは便利なもので、
関連付けしてあったら、◉
してなかったら、○
が行のところに表示してくれます。
(たまに関連付けしてるのに、○表示になってることもあるけど、、)

ってことで関連付けして終了です。

ちなみに@IBOutletをつけるとき("@IBOutletオプションの時"って言う)、"!"をつけるの!!!って人はこちら参照!
IBOutletはなぜ" ! "で定義すべきか

(4割方の原因)変数がnilの状態のままその変数をつかって処理をしようとしてクラッシュしてる

直訳通りです。

ます頭に入れといて欲しいのは

変数は箱だってこと。

箱の中身には値が入ります。


属性

この画像で言うなら、"a"って言う箱に何かしらの値が入ってるって意味っす。

変数についての復習はこちら。

この箱の中には値が入ってなくて(つまりnilの状態)、その状態のまま処理しようとしてるからアウトってパターンです!

どう直せばいいのか

空になってる変数に値を入れればいいのです。
いかに注意して、変数に値を入れてください。
①関数内のプログラミングコードはは上から下に読まれる
②大抵の場合、viewDidLoad関数は一番最初に読まれる。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2