¿Qué es Optional (tipo opcional) en Swift y para qué sirve?
¡Hola a todos! Acabo de empezar a aprender Swift y me encontré con un concepto que aún no me queda del todo claro: Optional (valores opcionales). En otros lenguajes, como Java o C++, estoy acostumbrado a que una variable simplemente pueda ser igual a null, y eso es normal. Pero en Swift es diferente: el compilador se queja constantemente si intento asignar nil a una variable normal.
Aquí hay un ejemplo que me confunde. Estoy escribiendo una aplicación simple de notas y quiero que el campo con el texto de la nota pueda estar vacío (nil) si el usuario no ingresó nada:
```swift
var noteTitle: String = nil // Error: Nil cannot be assigned to type 'String'
```
El compilador da un error. Entiendo que necesito usar el signo de interrogación:
```swift
var noteTitle: String? = nil // Así funciona
```
Pero entonces me surge confusión al trabajar con este valor. Por ejemplo, si quiero imprimir la longitud de la cadena o concatenarla con otra cadena, el compilador vuelve a quejarse:
```swift
var noteTitle: String? = "Mi nota"
pr