Opcionales, Guard, If guard
Clase 15 de 46 • Curso de Swift 4 2018
Contenido del curso
Clase 15 de 46 • Curso de Swift 4 2018
Contenido del curso
Felipe Hernández
Usuario anónimo
Rodrigo Guerra Castilla
Edward Acu
Darío Fernández López
Bryam Angel Soto Ñahui
Enrique Peña Gonzalez
Wilson Montenegro
Rios Mata Palomo Dany Isaac
Laura duque
Adrian Peralta
Jorge Luis Rivera Ladino
Shirley Silvana Suarez Startary
Alvaro Robles
Rios Mata Palomo Dany Isaac
Rios Mata Palomo Dany Isaac
Edward Acu
Aarón Sánchez
Cambien la descripcion del video por: Opcionales, Conditional Unwrapping y Force Unwrapping
Buena sugerencia.
var optionalNumber: Int? optionalNumber = 24 //probar optionaNumber como nil y como valor //IF LET if let number = optionalNumber { //si optionalNumber tiene un valor imprime esto. print("Tengo un valor, es \(number)") }else{ //si optionalBumber es nil imprime esto. print("No tengo un valor, soy nil") } //GUARD func tripleNumber(number: Int?) {//FUNCIONES AUN NO LO VEMOS PERO AYUDA AL EJEMPLO porque usa el opcional //sentra number a la declaración Guard guard let number = number else { //si es igual a nil entonces no es number = number. no quiero ejecutar esta función si tengo un nil. Entonces sal de la funcion(return) print("Saliendo de la función") return//no más codigo es ejecutado despues de esta declaración } //si no es igual a nil. continua ejecutando el codigo print("Mi numero triple es \(number * 3)") } tripleNumber(number: optionalNumber) //llamar la función para verla en acción //FORCE UNWRAPPING //recomienda usarlo como ultimo recurso //solo usarlo cuando estes 100% seguro de que el valor estara ahí porque si no esta ahi la aplocación fallara(crash your app). //piensalo dos veces let forcedNumber = optionalNumber! // cuando es nil fallara
otro ejemplo.
gracias por el ejemplo, con la parte del guard creo que quedó corta la explicación pues no se ve la explicación, y es una de las cosas que no comprendía cuando veía código swift
¿Soy el único que piensa que no se está enterando de nada porque realmente no se explica nada?
Guard, If guard? sigo esperando la explicación
ya somos dos
Todavia no lo arreglan.
El guard no tiene ejemplo solo se explica y el if guard no se explica.
Que diferencia hay entre un guard y un conditional ?
**If let **:sirve para validar antes de ingresar a un bloque
if let nombre = "valor" { //ingresar si el opcional tiene valor //usar el valor adentro del bloque }
guard: sirve para verificar una condición, si es false, se ejecuta el bloque else
guard let nombre = "valor" else { //ingresar si la asignacion no es valida return // para evitar continuar ejecutar las siguientes lineas (salir de la función) }
guard siempre tendrá un bloque "else"
acá un pequeño artículo
Quiero agregar la siguiente nota:
Cuando un optional es usado de la siguiente manera es conocido como "Force unwrap"
let nobre: String? nombre = "Luis" print(nombre!)
Cuando un optional es usado de la siguiente manera es conocido como “Nil coalescing”
let nobre: String? nombre = "Luis" print(nombre ?? "Luis")
cuando es usado de la siguiente manera es conocido como “optional Binding”
let nobre: String? nombre = "Luis" if let nombre = nombre { print("nombre") }
guard let nombre = nombre else { return } // Para el guard es necesario el return pero como no está dentro de una función se dará un error
print(nombre)
Que paso con el guard?
Si no recuerdo mal lo explican mas adelante con un poco mas de detalle.
Saludos
El If guard no tiene ejemplo, solo se explica mas no se ejecuta como tal.
Y donde quedo el While?
ok esto si es nuevo (O.o)! :D
Nill: Establece un valor opcional en un estado sin valor.
Tomar en cuenta que no podemos utilizar Nill con variables o constantes no opcionales. Si una constante o variable debe trabajar con valores opcionales se recomienda declararlo como no opcional.
// Nota: Se define igualmente a una variable o constante pero agregamos un signo de interrogación // numberCount contiene un valor Int de 18041230 var numberCount: Int? = 18041230 // numberCount ahora no contiene valor numberCount = nil // nameBank se igualara automaticamente a nil var nameBank: String?
Una variable o constante Nill finalmente resulta ser un espacio en memoria que puede o no tener un valor asociado pero al no asignarle un valor toma el de nil.
Condicional con Nill
if numberCount != nil { print("El numero de cuenta con valor opcional es: \(numberCount!)") } else { print("Valor nulo") }