Disfruta de nuestro contenido y eventos por un año a un precio especial

Antes: $179

Currency
$149/año
¡Suscríbete!

🔥 Te quedan 🔥

1D
7H
11M
9S

Operador Nil Coalescing

5/33
Recursos
Transcripción

Aportes 32

Preguntas 0

Ordenar por:

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

let defaultUsername = "Bruce.Wayne"
var username: String?
//username = "miguel.serrato"
var usernameToBeUsed = username ?? defaultUsername
//si se descomenta la linea de asignacion de username a "miguel.serrato", el valor de la variable usernameToBeUsed sera "miguel.serrato",si no sera el valor por default que es "Bruce.Wayne"

resumen 👇🏽
c = a ?? b

He seguido estas primeras clases con la documentación oficial
https://docs.swift.org/swift-book/LanguageGuide/BasicOperators.html
Al mismo tiempo estoy leyendo este libro
iOS 14 Programming Fundamentals with Swift

var a: String? = "Hola"
// Similar (a != nil ? a! : "ejemplo" )
var b = a ??  "ejemplo"

<
var UserNameForDefault = "Antonio Banderas"
var UserName : String? 
let Name = UserName ?? UserNameForDefault

var DefaultColorOfTheUser = "Red"
var UserColor : String?
let ColorSelected = UserColor ?? DefaultColorOfTheUser
>

Un buen ejemplo también podría ser cuando un usuario no agregó su foto de perfil, asignar una foto por defecto.

Mi reto

let defaultUser = "Felipe Carrasco"
var userName: String? = "Cristiano Ronaldo"

var userNameToUse = userName ?? defaultUser
let defaultUserName = "Javier"
var userName: String?
var userNameUsed = userName ?? defaultUserName

😃

resumen:

let valorPorDefecto = "txs"
var valorObtenido : String?

var valorAUsar = ValorObtenido ?? valorPorDefecto
// se toma valor por defecto si valor obtenido es nil, caso contrario, se usa el obtenido. 
var userName: String?
var defaultUserName = "Uname"

userName = "Jacob"
print("Current user: \(userName ?? defaultUserName)")

Aquí está mi ejercicio:

let defaultName = "Ricardo Saenz"
var userName: String?

var nameToBeUsed = userName ?? defaultName

😃

//reto
var username: String?
let defaultUsername = "Antonio Banderas"

var usernameToUse = username ?? defaultUsername

El reto

let defaultUserName = "Juana la Alpaca"
var userName: String? = "Paco el Chato"

var userN = userName ?? defaultUserName

en javascript sería

var ageToBeUsed = userAge || defaultAge

let defaultName = "Antonio Banderas"
var userName:String?
userName = "Nicolas Chavez"
var userToBeUsed = userName ?? defaultName

Resumen

Una opción para manejar valores opcionales es proveer un valor por default usando el operador ??. Si falta el valor opcional, se usa el valor default.

let defaultAge = 18
var userAge: Int?

var ageToBeUsed = userAge ?? defaultAge

Se va a asignar el valor de userAge si existe, sino defaultAge.

Esta es la forma de escribir lo mismo pero con el operador ternario:

ageToBeUsed = (userAge != nil ? userAge! : defaultAge)

Al usar esta forma hay que realizar varias cosas como:

  1. validar que sea distinto de nil
  2. Realizar un Force Unwrapping
// Reto
let defaultUserName = "Antonio Banderas"
var userName: String?

userName = "Will Montenegro"

var userNameReal = userName ?? defaultUserName

Me equivoqué de screenshot 😅

let defauldNickname = "Antonio Banderas"
var userNickname: String? = "Alexander24"

var username = userNickname ?? defauldNickname
var username: String?
var usernameUsed = username ?? "Antonio Banderas"
let userNameDefault = "perrito"
var userName: String?

//userName = "cesarcub"

let userNameToShow = userName ?? userNameDefault

print(userNameToShow)

Interesante, pero me mato esa anecdota de la variable con nombre default de antonio banderas.

Reto listo.

let defaultUserName = "Anonymous"
var userName: String?
userName = "Felipe Carrasco"
var userNameToBeUse = userName ?? defaultUserName
print("the user connected is \(userNameToBeUse)")

En Js vendría siendo algo así, si mal no recuerdo
const defaultAge = 18 const userAge const ageToBeUsed = userAge || defaultAge