iOSアプリ開発メモ No.7 -nilと!について-
よくエラーで「ちゃんと!をつけてね」と言われて従うも、!の意味がよくわからない。
調べてみると使う文脈によって意味が異なるらしい…。
それにnilを理解しないと先に進めないらしい…。
nilの意味
ということでまずはnilの意味ですが、要するに「空っぽ」ってことですね。
他の言語でいうnullと同じく語義通り「無」です。
論理的にtrueでもfalseでもなく、数値的に正でも負でもないオンリーワンなnilさんでした。
!の意味
変数を宣言するときに使う場合
var bikkuri:UIImage!
「宣言時に!をつけることで変数の中身が空っぽ(nil)でもエラーにならない」
(「オプショナル型変数」とか一丁前な名前がついている)
プロフィールのアイコンなど「必須じゃないけど変更可能よ」という変数に使う感じだそうです。
宣言時以外のときに使う場合
hogeArray = [hoge1!, hoge2!, hoge3!]
「お尻に!をつけられた変数が空っぽ(nil)の場合処理を中止する」
こうすることで、画像や値などが正常に読み込まれていないときなどにストップを掛けられるようになるわけですね。
宣言時には「空っぽでもオッケー」と変数にnilというオプションを与える。
それ以外のときは「空っぽはノーセンキュー」と変数の値がnilなら処理を中止する判定を行う。
Swiftにおける!は中々にしたたかでした。
今回参考にさせていただいたページ。