Avatar ·

¿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