typescript estas por ahí??
Introducción a Swift
Qué aprenderás sobre Swift
¿Qué es Swift?
Variables, constantes y comentarios
Mi primer programa - Hello World
Variables y Constantes
¿Cómo funcionan los Type Annotations?
Nomenclatura para nombrar variables
Imprimir valores con la función print
Comentarios en el código
Tipos de datos
Enteros
Floats y Doubles
Literales numéricos
Convertir entre tipos de datos
Apodo para los tipos de datos con Type Alias
Booleanos
Tuplas
Optionals y Nil
Manejo de Optionals
Force unwrapping de una variable optional
Optional Binding
Unwrap Implícito
Gestión de Errores
Uso de try y catch
Aserciones y Precondiciones
Conclusión
Cierre del Curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Juan Gabriel Gomila
Aportes 22
Preguntas 5
typescript estas por ahí??
nil != null para los que viene de otro lenguaje de programación
nil (ausencia de valor)
null (apuntador a objeto vacío)
Para que les quede más claro les dejo este siguiente artículo:
Optional y nil
👉🏽 Nil es ausencia de valor
cuando la conversion de datos falla, regresa un nil por la ausencia de valor
Como puedes typerar una Tupla para evitar errores y tener todo mucho mejor ordenado
typealias TPerson = (name: String, age: Int, born: String)
let person: TPerson = (name: "Gaspar", age: 22, born: "Argentina")
person.name
/*
Valores que pueden estar o no estar
En Swift no existen nulos
*/
let possibleAge = "31"
let convertedAge = Int(possibleAge)//Int? puede que sea un entero o no. Regresa Nil (ausencia de valor)
//Cuando un valor llega a la interrogante de ¿Puede o no ser un entero? se le llama OPTIONAL
//Cuando pasa esto se regresa un entero opcional = Int?
//Diferencia entre Int e Int?
//Int es valor que realmente es entero
//Int? es un valor que puede regresa Nil (ausencia de valor)
//Cuando no se este seguro si una variable contendrá un valor o no, entonces se declara como Int?, un valor opcional
//Ejemplo
var serverResponseCode : Int? = 404//Puede aparecer o no el codigo de error
serverResponseCode = nil//Por ende se le asigna Int? y se iguala a nil
Entiendo la diferencia pero no sé, sigue teniendo el mismo sentido semántico que null en Java o None en Python para mi.
pero no podria usar una variable tipo age: Int?, por ejemplo para poder hacer una validasion como:
if age > 18{
print(“mayor de edad”)
}
me saltaria un error, en ese caso como podria usar una variable de tipo optional en un condicional?
¡Vamos a por ello!
La razón de donde viene el Optional, por que la variable lleva la interrogante "?" Solo aparece este mensaje cuando alguien escribe el valor de la respuesta. Ejemplo: var SurveyAnswer : String? surveyAnswer = "42" print (surveyAnswer) Resultado: Optional("42") / Optional = ? Interrogante
Esto me suena mucho al “null safety” en dart o kotlin
En Rust sucede algo parecido, no existen la posibilidad de almacenar valores vacíos en la memoria y también tiene un tipo de valor opcional pero me parece que es más explícito que en swift.
Hola,
les recomiendo este resumen, me sirvió mucho.https://weiseratel.com/lenguaje/swift/opcionales/
Para que no les aparezca esa advertencia de que tienen un optional value, puede utilizar la siguiente bandera:
//Ponen un signo de exclamación al final si y solo si saben que ese optional tendrá un valor.
print(surveyAnwer!)
/*
Once you're sure that the optional does contain a value,
you can access its underlying value by
adding an exclamation point (!) to the end of the optional's value.
*/
print(serverResponseCode!) //Return an optional value
if serverResponseCode != nil {
print("serverResponseStatus has some value")
}
Aporte de la clase pasada
typealias edad = UInt8
let person = (name: "Federico", surname: "Monzon",age: edad(28))
print("Hola mi nombre es \(person.name), my apellido es \(person.surname) y tengo \(person.age)")
El nil en un opcional es la ausencia de valor, es decir no hay nada
Muy interesante este tema
Algo así, cuando la conversion falla la funcion Int() regresa un optional y dentro de ese optional tiene el valor de nil
El nil es la ausencia de valor
Nil es la respuesta que se obtiene por ausencia de valor.
Optionals que pueden tener ausencia de valor
Nil equivale a la ausencia de valor
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?