Les conditions peuvent aussi servir à déballer un optionnel de façon sûre sans avoir de risque de crash.

Nous pouvons utiliser les if ou les guard

exemples.

//1. if else pour déballer un optionnel avec ‘!’
if optional != nil {
    print(optional!)
} else {
    print(“cette valeur est nil”)
}
//2. if else pour déballer un optionnel en tentant de créer une constante à partir de cet optionnel
if let nonOptional = optional {
    print(nonOptional)
} else {
    print(“cette valeur est nil”)
}
//Nous essayons ici de créer une constante avec l’optionnel, si l’optionnel est nil, la constante ne sera pas créée et nous passerons dans le else
//3. guard pour déballer un optionnel avec ‘!’
func unwrapOptional() {
    guard optional != nil else { return }
    print(optional!)
}
//4. guard pour déballer un optionnel en tentant de créer une constante à partir de cet optionnel
func createNonOptional() {
    guard let nonOptional = optional else { return }
    print(nonOptional)
}
//Nous essayons ici de créer une constante avec l’optionnel, si l’optionnel est nil, la constante ne sera pas créée et nous passerons dans le else et return. Le code suivant ne sera donc jamais effectué 

Conseil: Ne jamais déballer un optionnel si nous ne sommes pas sûr qu’il ait une valeur.