Swift: Optional型やらアンラップやら・・・
やっぱりわけがわからなくなるので、備忘録。
型名?
var megs: String? // 型名に?を付けると、Optional型になる。
型名!
var msg: String! //!だと、初期値だけOptional型でnilに対応できる。その後、値が設定された後はnilにならない場合に良い。暗黙的アンラップ
インスタンス名?
Optional Chaining – Optional型プロパティをnilチェックし、さらにその中のプロパティもnilでないなら、と連続して確認する方法。nilでもそうでなくても、処理する。
if let s = user?.name?.uppercased()
インスタンス名!
print(msg!) // インスタンス名に!を付けると、Optionalというカプセルをアンラップして値を取り出せる。