Día 1
Después de termina 100daysOfSwiftUI tenia dudas sobre que seguir aprendiendo para mejorar mis habilidades como desarrollador y encontrar un trabajo.
Si bien creo firmemente que SwiftUI es el futuro y lo usare al 100% para mis apps personales y trabajos freelancer, sin duda UIKIT va a estar por aquí un largo rato así que decidí tomar a 100daysOfSwift classic para aprender UIKIT y esta vez ire documentado todo en mi blog personal para tener una referencia en español para mi, espero esto sea de ayuda para quienes se aventuren en este interesante reto.
“the secret to getting ahead is getting started.”
Mark Twain
«El secreto para avanzar es iniciar»
Mark Twain
Bien para comenzar Abrimos Xcode y creamos un nuevo playground

Variables
Las variables son espacios donde podemos guardar datos, declarar una variable es tan fácilmente como esto;
var saludo = "Hola 🖖🏼"
Algo genial de el ecosistema apple es que podemos usar emojis en todas partes
Ahora como esto es una variable podemos cambiar su valor tan fácilmente como esto;
saludo = "Adios ✌🏼"
No es necesario volver a escribir «var» otra vez por que la variable ya fue creada y ahora solo estamos cambiando su valor
Strings and integers
Cadenas de texto y Números Enteros
Swift es un lenguaje «type-safe» o de escritura segura, eso significa que cada variable debe tener un tipo de dato especifico
En nuestra variable saludo, escribimos un texto por tanto era un variable de tipo «String»
Ahora si queremos escribir la edad de alguien lo hacemos de la siguiente manera
var edad = 24
Eso contiene un numero entero, así que swift le asigna el tipo «Int» un tipo de valor entero.
si queremos escribir números grandes de manera mas legible podemos hacerlo de la siguiente manera
var población = 8_000_000
Strings y Int son diferentes tipos de datos y no se deben mezclar, así pues si bien pudimos asignar un nuevo valor a saludo como «Adios» no podemos asignarle un valor de un tipo diferente como «24».
Multi-line strings
Cadenas de texto multi linea, como ya vimos para crear una variable de tipo String usamos comillas dobles «”» pero para una cadena de texto con multiples lineas debemos usar tres comillas dobles de la siguiente manera:
var texto = """
Este texto
tiene
multiples
lineas
"""
Swift espera que las comillas tanto iniciales como finales vayan en su propia linea
Ahora si lo que quieres es simplemente dar formato a tu código para hacerlo mas legible pero no quieres los saltos de linea realmente en tu texto solo tienes que añadir una «\» al final
var texto = """
Este texto \
no tiene \
multiples \
lineas
"""

Doubles and booleans
Números con punto decimal y valores verdadero / falso
cada vez que creamos una variable con punto decimal swift nos asigna el tipo Double por ejemplo:
var pi = 3.1416
Double es un tipo diferente de Int y no pueden ser mezclados
Los Booleanos son mucho mas simples son simplemente valores que pueden ser Verdaderos o Falsos (true / false )
Por ejemplo
var ellaTeAma = false
//Lo gracioso es que es verdad 😹
//💔😢
String interpolation
Incrustando variables en texto
Ahora vemos como incrustar variables directo a texto, para hacer es bátanme simple solo usamos «\» seguido de tu variable entre paréntesis «( )»
Por ejemplo
var tuPuntaje = 95
var texto = "Tu puntaje fue \(tuPuntaje)"
como ves es bástate sencillo y lo puedes hacer a veces que quieras
var resultados = "Los resultados del examen \(texto)"

Lo mejor de todo esto es que «string interpolation» no esta limitado a variables si no que podemos correr código también.
Constantes
Las variables son geniales para guardar valores que cambian, ahora bien algunas veces tenemos valores que nunca cambian, en ese caso es mejor usar constantes en swift este tipo es «Let»
Por ejemplo
let yoSoy = "Batman 🦇"
si tratas de modificar ese valor Xcode no te dejara, esto es bueno pues así evitas cambiar constantes por accidente
yoSoy = "Bruno Días"

Type annotations
Especificar el tipo
Swift sigan a cada variable y constate un tipo basado en que valor es dado al momento de ser creada. Por ejemplo aquí swift puede deducir que es un String
var saludo = "Hola 🖖🏼"
y no podrás asignarle un tipo de valor diferente después
esto se llama «type inference» o deducción de tipo
Ahora si quieres ser explícito sobre el tipo de valor de tu variable debes decláralas de esta forma:
let nombre: String = "Bruno Días"
let edad: Int = 50
let altura: Double = 1.78
let elEsBatman: Bool = true
Como nota Baléanos (Booleans) y Enteros (Intergers) tiene el nombre corto «Bool» e «Int»
Resumen
Creamos variables usando «var» y constantes usando «let»
Las cadenas de texto inician y terminan con comillas dobles «”», pero si quires que el texto sea multi linea debes usar tres cada una en su propia linea
Variables de tipo Enteros (Int) guardan números completos, variables con Punto decimal (Double) guarda números con fracciones, y variables de tipo Booleano (Bool) guardan valores verdaderos o falsos (true/false)
«String Interpolation» permite incrustar en el texto variables, constantes y ejecutar código.
Swift usa deducción de tipos (type inference) cuando creas una variable o constate para asignarle un tipo, pero si quieres puedes especificarlo tú mismo.
// y ese fue el resumen del día 1
Referencias
Todas estas notas están basadas en el curso de hackingwithswift
https://www.hackingwithswift.com/100
https://www.hackingwithswift.com/100/1