28
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Swift】nilじゃないのに「unexpectedly found nil〜」が出る

Last updated at Posted at 2019-05-18

Swiftをいじっている中遭遇した「fatal error: unexpectedly found nil while unwrapping an Optional value」というエラー。
かなりの頻度で出くわすらしいので対処法を記載

どう見てもnilじゃないのにnilで落ちる?

筆者が30分近くハマった出来事。

ViewController_swift.jpg

てっきり「labelがnilなのかな??」と思って調べてみるが、labelには明らかにnilでない値が入っている。

なんでや!

nilなのは値じゃなくて変数だった

nilなのは値じゃなくて変数だった。
発見が遅れてしまった理由は、ビューコントローラーの名前を変えたりしているうちにアウトレット接続が失われてしまい、labelそのものがnilになってしまったこと。
普通はアウトレット接続してしまえばnilになるなんてことは起こらない。

僕のバカ!(猛省)

Main_storyboard_—_Edited.jpg

というか、検証した結果、入れようとする値がnilだとしても、代入する行で「unexpectedly found nil」で落ちることはなかった。
ググったら、このエラーが出るのは「nilを入れようとしたから」ではなく「nilのまま使おうとしたから」ということらしい。

基礎がなってないなあ、と痛感。

参考

28
18
2

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
  3. You can use dark theme
What you can do with signing up
28
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?