En Swift, un optionnel est un type spécial qui peut contenir soit une valeur, soit aucune valeur du tout. Cela signifie que les variables optionnelles peuvent représenter l’absence de valeur de manière explicite.
La déclaration d’une variable optionnelle se fait en ajoutant un point d’interrogation (?) après le type de la variable.
var age: Int? = 25
Ici, Int? indique que age peut contenir soit une valeur entière, soit aucune valeur du tout.
Pour accéder à la valeur d’un optionnel, vous devez utiliser une opération de “déballage” (unwrapping 🎁).
Il existe plusieurs façons de le faire, mais l’une des plus courantes est l’utilisation du “forced unwrapping” avec le symbole d’exclamation (!).
print("L'âge est \(age!)")

Si l’age est nil, le programme plante, donc on évite de faire ça. Vraiment. Si vous voyez un code pollué par des !, c’est que le dev était un peu fainéant (pour pas dire autre chose).
Plutôt que d’utiliser le déballage forcé, il est recommandé d’utiliser des mécanismes plus sûrs comme l’optionnel facultatif (if let ou guard let) pour déballer la valeur de manière sécurisée.
L’utilisation d’un if let permet de déballer la valeur de manière sécurisée. Si la valeur est nil, le code dans le else sera exécuté.
if let unwrappedAge = age {
print("L'âge est \(unwrappedAge)")
} else {
print("L'âge n'est pas défini.")
}
Plutot que d’utiliser un if let avec un else, il est possible d’utiliser un guard let qui permet de sortir de la fonction si la valeur est nil.

guard let unwrappedAge = age else {
print("L'âge n'est pas défini.")
return
}
L’utilisation d’optionnels encourage une programmation plus sûre en forçant les développeurs à traiter explicitement les valeurs potentiellement manquantes. Cela réduit les risques d’erreurs liées à des valeurs nil inattendues.
🔗 Pour en savoir plus sur les optionnels en Swift, vous pouvez consulter la documentation officielle sur les optionnels.