Optional to typ, który albo przechowuje wartość, albo przechowuje nil (brak wartości). Swift czyni nil jawnym w systemie typów: String nigdy nie może być nil, ale String? już tak. W ten sposób Swift eliminuje większość awarii związanych z null-pointerem już na etapie kompilacji.
