Een Optional is een type dat ofwel een waarde bevat, ofwel nil bevat (geen waarde). Swift maakt nil expliciet in het typesysteem: een String kan nooit nil zijn, maar een wel. Zo elimineert Swift de meeste null-pointer crashes al tijdens het compileren.
