Avatar ·

Pourquoi utiliser des optionnels implicitement déballés (Implicitly Unwrapped Optionals) si nous sommes déjà sûrs que la valeur existe ?

Bonjour ! Je viens de commencer à apprendre Swift et je n'arrive pas à comprendre une chose. La documentation dit que les Implicitly Unwrapped Optionals (IUO) sont des optionnels qui se déballent automatiquement lors de l'utilisation, si nous sommes sûrs qu'ils contiennent une valeur. Mais alors, pourquoi en avons-nous besoin ? Pourquoi ne pas simplement utiliser un type normal (String, Int, etc.), puisque nous sommes sûrs que la valeur existe ? Voici un exemple que j'ai trouvé dans un livre : ```swift let assumedString: String! = "Hello, world!" let implicitString: String = assumedString // se déballé automatiquement ``` Mais si je suis sûr qu'il y a une chaîne, pourquoi ne pas simplement écrire : ```swift let assumedString: String = "Hello, world!" ``` Quelle est la différence ? J'ai entendu dire que les IUO sont utilisés pour IBOutlet et dans certains autres cas, mais je ne comprends pas pourquoi on ne peut pas se contenter des optionnels normaux avec une vérification via `if let` ou `guard let`. C'est plus sûr, non ? Pourriez-vous expliquer avec des exemples concrets quand les IUO sont vraiment nécessaires et en quoi