#Swiftでは変数の宣言時に、何も値が無い状態を許すか許さないかを、データ型で指定する必要がある。「オプショナル型」はデータ型の種類のひとつです。
#オプショナル型とは
###値が無い状態を許すデータ型はオプショナル型で、変数宣言時のクラス名の後に「?」か「!」を指定します。「?」か「!」を付けない宣言は、値がない状態を許さない「非オプショナル型」になります。一般的なオプショナル型は「?」を利用します。 「?」も「!」は両方とも「nil」を保持することが許されてますが、違いはわかりません。。すみません。複雑らしいので。。 最初はオプショナル型を宣言する場合は「?」を利用すればいいと覚えておいて大丈夫かと。
#アンラップとは
###オプショナル型の変数やメソッドを、安全に取り扱う手法をアンラップといいます。 宣言時以外で「?」や「!」を見かけたら、アンラップを行っているんだなと理解できれば問題ないかと。。