◾️オプショナル型の「?」「!」の違い
オプショナル型の宣言で、型の後ろに「?」「!」が付いているが、この違いは以下である。
「?」:nilを代入する事を許す。(オプショナル型)
「!」:nilを代入する事を許し、変数を使用する時に強制的アンラップする。(暗黙的アンラップ型)
暗黙的アンラップ型の「!」は強制的アンラップとは別物である。
暗黙的アンラップ型は、使用するとき必ず強制的アンラップをする為、以下の様に使用する事ができる。
(記載ルール)
let 定数名: 型! = 値
print(定数名)
(例)
var str: String! = "オプショナル型"
print(str)