¿Qué significa el signo de exclamación (!) en Swift? Problema con los tipos opcionales
¡Hola! Acabo de empezar a aprender Swift y constantemente me encuentro con el signo de exclamación (!) en código ajeno. Por ejemplo, he visto este código:
```swift
var name: String! = "Alice"
print(name!)
let array: [String?] = ["hello", nil, "world"]
if let value = array.first {
print(value!) // ¿por qué ! aquí?
}
```
Entiendo que esto tiene algo que ver con los tipos opcionales (Optionals), pero me confundo. En algunos lugares veo el signo de interrogación (?), en otros el signo de exclamación (!).
Me dijeron que ! es "desenvolvimiento forzado" (forced unwrapping), pero no entiendo cuándo es seguro usarlo. Por ejemplo, si escribo:
```swift
var optionalNumber: Int? = nil
let number = optionalNumber! // ¡la app se cuelga!
```
la aplicación se cae con un error. ¿Para qué sirve un operador tan peligroso? ¿Quizás hay alternativas más seguras? ¿Cómo trabajar correctamente con opcionales en Swift? Explícame, por favor, en detalle y con ejemplos.
<<>>