「?」オプショナル型とは、変数の型がもつ通常の値に加えて、空の(値が無い)状態を保持できる変数です。空の状態はnilで表現します。
Apple社のSwiftの解説
optional type
optional value
オプショナル型は、変数の宣言時に、型の後ろに「?」をつけて宣言します。
var name:
String? // オプショナル型
name = nil
// OK:空の代入が可能 自動的にnilの値が設定されるのでnilでの初期化する必要はない
var name:
String // ? 無しの場合、オプショナル型ではない変数にはnilを代入できない。
name = nil
// NO:エラー nilを代入できなくエラーになり落ちる。
※注意
「?」オプショナル型は宣言時に値を代入しない場合は自動的にnilの値が設定されています。そのため宣言時にnilで初期化する必要はありません。
GitHub
▫️参考ページ
コメントをお書きください