◾️オプショナル(Optional)型
「オプショナル型」とは、変数にnilの代入を許す型の事である。
※「nil」とはデータが無い状態を表す。
デフォルトではnilの代入を許さない「非オプショナル型」である。
明示的にオプショナル型の宣言を行う事で、nilの代入を許す事ができる。
オプショナル型の宣言は以下である。
※型の後ろの「?」「!」の違いは、後の記事で説明する。
現状は、オプショナル型の宣言は「?」をつける方法を使用し、「!」は「この様な方法もある」程度に認識すれば良い。
(記載ルール)
let 変数名:型?
let 変数名:型!
オプショナル型のInt型の変数(b)と、非オプショナル型のInt型の変数(a)で足し算などの計算を行う場合、計算ができず、エラーが起きる。
(例)
let a:Int= 10
let b:Int? = 10
print(a + b)
→エラー
上記でエラーが発生する理由は、オプショナル型を使用する事で、値は「Optional(値)」という形式になり、非オプショナル型との計算ができない為、エラーとなる。
ここで、エラーを発生させない為に、オプショナル型のアンラップを行い、計算する必要がある。
◾️オプショナル型のアンラップ
オプショナル型のアンラップの方法はいくつかある。
代表的なアンラップの方法は以下である。
※以下のアンラップ方法の目的はオプショナル型の変数から値を取り出す事である。
Forced Unwrapping (強制的アンラップ)
Optional Binding (オプショナルバインディング)
Optional Chaining (オプショナルチェイニング)
それぞれのアンラップの使用方法は後の記事で説明する。