Avatar ·

Que signifie le point d'exclamation (!) en Swift ? Problème avec les types optionnels

Salut ! Je viens de commencer à apprendre Swift et je rencontre constamment le point d'exclamation (!) dans le code des autres. Par exemple, j'ai vu ce code : ```swift var name: String! = "Alice" print(name!) let array: [String?] = ["hello", nil, "world"] if let value = array.first { print(value!) // pourquoi ! ici ? } ``` Je comprends que cela a un rapport avec les types optionnels (Optionals), mais je suis confus. Par endroits, je vois un point d'interrogation (?), ailleurs un point d'exclamation (!). On m'a dit que ! est un "déballage forcé" (forced unwrapping), mais je ne comprends pas quand il est sûr de l'utiliser. Par exemple, si j'écris : ```swift var optionalNumber: Int? = nil let number = optionalNumber! // crash de l'application ! ``` l'application plante avec une erreur. Pourquoi un opérateur aussi dangereux existe-t-il ? N'y a-t-il pas des alternatives plus sûres ? Comment travailler correctement avec les optionnels en Swift ? Expliquez-moi en détail avec des exemples.