Básico 01 – Variables, constantes y colecciones.

Iniciaremos con una serie de publicaciones que incluyen lo que considero básico de la programación con Swift, exploramos juntos todas las piezas que son fundamentales para escribir excelentes aplicaciones móviles y que todo desarrollador debe dominar.

Variables

En este primer post comenzaremos con las variables, son todos los nombres que asignamos a esos espacios de memoria que nos sirven para almacenar uno o más valores y que después, vamos a utilizar o referencias a lo largo de nuestro código o programa.

En Swift encontraremos varios tipos de variables, cada uno representa un tipo de dato o valor que utilizaremos en nuestras aplicaciones, estos son algunos básicos, pero hay cientos de ellos que aprenderás sobre la marcha y conforme avances en tu entrenamiento.

Las variables se definen/declaran de la siguiente forma:

var nombre_variable: tipo_variable = valor inicial

En Swift hay dos formas de escribir o declarar una variable:

  1. Dejando que el compilador infiera el dato.
var cadena = "Mensaje de texto"
var numeros = 123456
var decimales = 12345.6789
var letra = "C"
var decision = true

2. Nosotros establecemos el tipo de dato.

var tipo_cadena: String = "Mensaje de texto"
var tipo_numero: Int = 123456
var tipo_decimal: Float = 12345.6789
var tipo_letra: Character = "C"
var tipo_decision: Bool = true

En la práctica ambos son válidos, pero si vas más a fondo sobre temas de optimización y performance en tu aplicación, la segunda es mejor pues el compilador trabajara menos en tratar de ver que tipo de variable estás escribiendo.

Imagina que una variable es una caja entonces el tipo de variable es la etiqueta de lo que lleva dentro, dicha etiqueta permite que su contenido varíe por lo que deberemos imaginar que la caja se encuentra abierta al cambio de su contenido.

Los tipos de variables básicos que encontramos en Swift, son los siguientes:

  1. String: Permite almacenar únicamente cadenas de texto, solamente caracteres consecutivos y siempre deberá llevar comillas dobles “Esto es una cadena”, “Nombre”, “Colores”.
  2. Int: Este sirve para almacenar valores numéricos enteros 123456, 10, etc.
  3. Float/Double: Sirve para almacenar valores numéricos decimales 1234.567, 10.0, 0.98 etc. La diferencia entre Float y Double es la precisión, en palabras resumidas Float almacena menos números después del cero.
  4. Character: Guarda solo un carácter en comillas dobles, por ejemplo “A”, “c”, “U”.
  5. Bool: Este tipo de variable solo puede contener dos valores true/false, no lleva comillas dobles.

Constantes

Las constantes a diferencia de las variables, y tal y como su nombre lo indica tiene valores constantes que nunca cambiará una vez definido. En el ejemplo que detallamos de la caja vacía, una constante sería una caja que se encuentra cerrada, que no permite que almacenemos datos diferentes una vez declarada.

let nombre_constante: tipo_constante = valor

Los tipos de constantes son iguales a las variables, y se definirán/declararán de la siguiente forma:

  1. Dejando que el compilador infiera el dato.
let const_cadena = "Mensaje de texto"
let const_numeros = 123456
let const_decimales = 12345.6789
let const_letra = "C"
let const_decision = true
  1. Nosotros establecemos el tipo de dato.
let const_cadena: String = "Mensaje de texto"
let const_numeros: Int = 123456
let const_decimales: Float = 12345.6789
let const_letra: Character = "C"
let const_decision: Bool = true

Tuples

Es un tipo de dato que podría ser variable o constante, permite almacenar distintos valores en forma de grupo y sus tipos pueden ser diferentes entre ellos. Se define/declara  de la siguiente manera:

var tupleEjemplo = (500, "Error de Servidor")

// Puedes obtener el valor de la siguiente manera:
var errorNumero = tupleEjemplo.0

// y también modificarlo de la misma manera
tupleEjemplo.0 = 200

Así como en el ejemplo anterior el tuple puede nombrar sus elementos de la siguiente manera, esto puede facilitar su identificación y puedes mejorar la lectura de tu código:

var tupleNombre = (code: 500, message: "Error de servidor")

//Para acceder a él o modificarlo solo necesitas acceder al nombre.
var nombreError = tupleNombre.code

Por último en esta publicación vamos a ver las colecciones, se llaman así porque almacenan una serie de valores en un grupo comúnmente se les conoce como arreglos, diccionarios y Sets.

Colecciones

Por último tenemos las Colecciones, llamadas así porque almacenan una serie de valores en grupos a diferencia del Tuple que pueden variar sus tipos en las colecciones no es así para todas algunas solo aceptan valores del mismo tipo.

  1. Arreglos

Los arreglos son una serie de datos del mismo tipo y ordenados en un grupo, los datos pueden repetirse múltiples veces y puedes identificar los valores almacenados en él a través de un índice.

Un arreglo puede definirse o iniciarse de diferentes maneras, esta es una de las más comunes:

var nombre_arreglo: [tipo_variable] = []

El arreglo tiene una serie de operaciones que le puedes realizar con el objetivo de modificar su contenido. Observa los siguientes ejemplos:

var listaNumeros = [1, 2, 3, 4, 5, 6, 7, 8, 9]

// Podemos agregar más valores al arreglo.
listaNumeros.append(10)
// Podemos quitar elementos al arreglo, utilizando el indicador de posición del valor.
listaNumeros.remove(at: 2)
// También podemos dejar vacío el arreglo.
listaNumeros.removeAll()
// Obtener un elemento y guardarlo en otra variable.
var un_elemento = listaNumeros[0]
  1. Diccionarios

Pueden almacenar asociaciones entre una llave y un valor, estas pueden ser del mismo o diferente tipo, no tienen un orden en específico y las llaves utilizadas deben ser únicas.

La forma de definir/declarar  un diccionario es la siguiente:

var nombre_diccionario: [tipo_llave: tipo_valor] = [:]

Observa los ejemplos y algunas operaciones que puedes hacer con los diccionarios:

// Un diccionario es muy parecido al arreglo pero este no usa un indice para localizar los valores almacenados en él, sino que usa una llave, que puede ser entero o cadena.

var diccionario = ["llave1": "Secreto1", "llave2": "Secreto2", "llave3": "Secreto 3"]

// Para acceder o modificar los valores de un diccionario basta con acceder a la llave.

var valorDiccionario = diccionario["llave1"]

diccionario["llave1"] = "Secreto Nuevo"

diccionario["llave2"] = ""
  1. Sets

Este tipo de colección almacena sus valores sin orden, deben ser únicos y del mismo tipo, comúnmente un Set se declara de la siguiente manera:

var nombre_set = Set<tipo_variable>()

Observa los siguientes ejemplos de definición y de operación básica de un Set:

var valoresUnicos: Set = [1, 2, 3, 4, 5, 6]

// Para acceder añadir un nuevo valor al Set.
valoresUnicos.insert(7)

// Para eliminar un valor del Set utiliza:
valoresUnicos.remove(1)

Las recomendaciones que te comparto a la hora de utilizar estas colecciones son las siguientes:

  • Utiliza un arreglo cuando el orden de los elementos sea de suma importancia.
  • Utiliza un Set cuando la integridad del contenido sea más importante que el orden, pues recordemos que en el Set los valores no se pueden repetir.
  • Utiliza un diccionario cuando no sea tan importante el orden, pero si la forma de ubicar los datos.

Deja un comentario