No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Force unwrapping de una variable optional

17/22
Recursos

Aportes 13

Preguntas 1

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Tambi茅n se podr铆a validar e imprimir el valor nil con un operador ternario, para simplificar el if

por ejemplo

print(convertedAge != nil ? convertedAge! : "Valor nulo")

Yo lo de el force unwrapping lo veo como un cofre que no sabes que contiene, pero intuyes que contiene un Int, entonces con la llave (en este caso una exclamaci贸n) abres el cofre para confirmarlo.

definitivamente uno de los mejores maestro de Platzi

puedes confirmar si trae algo de la siguiente manera:

if let age = convertedAge {
print(age)
}
es una manera de hacer la comparaci贸n y tambi茅n es muy legible

No entiendo Nada :S

let age : string?
age = 鈥32鈥
let convertAge = int(age)
print (convertAge!) //aqui estoy aplicando fuerza bruta a la variable, en otras palabras estoy forzando a indicarle que es una variable entera.Si Age no tuviera valor<nil> se generaria un error y rompimiento del codigo debido a que no es viable aplicar fuerza bruta a una variable nil, por eso es buena practica rodear a una variable que se le haya aplicado force unwrapping con un if validando si es nil
if age =! nil { print (鈥渘o es nula /(convertAge!)鈥)} else{print(鈥渆s nula鈥)}

Solo usar el Unwrapping solo si estamos seguros que el valor no puede ser Nil

print(miVariable ?? "Valor default")

force unwrapping es establecer en una optional un valor definido mediante la utilizaci贸n de la variable acompa帽ado de !

馃 Es decir, utilizamos un force unwrapping cuando estamos completamente seguros de que existe un valor dentro del optional (que no es ni)

//-------Force unwrapping-----//
//metodo transformar la variable en cuestion a un tipo de dato no nulo

//Hay que comprobar si la variable que vamos a usar no es nula para continuar
if convertedVar != nil {
    print("la variable no es nula: convertedVar")
}

//el force unwrapping se logra con :"!" despues de la variable para transformarla
print("el valor transformado con force unwrapping de la variable convertedVar es: \(convertedVar!)")//se cambia a valor no optional

el force unwrapping tambi茅n presente en Rust (.unwrap()) se podr铆a usar para prototipar de manera r谩pida un soluci贸n y luego pasarlo a un mejor manejo como el optional binding (if let x=optional { } ).

Tambi茅n cuando los el valor contenido siempre existir谩, como cuando no viene de un input 贸 respuesta de servidor, pero uno nunca est谩 100% seguro del cambio de tipo de dato y si alg煤n otro dev modifique el valor previamente al unwrapping 馃槮

dejo una presentaci贸n que habla de unwrap en rust donde el concepto es similar.

//FORCE UNWRAPPING DE UNA VARIABLE OPCIONAL
if convertedAge != nil{
    print("La edad del usuario no es nula \(convertedAge!)") //Conversion forzada
}else{
    print("La edad del usuario es nula \(convertedAge)")
}