Swift #7: Tuplas
Source: Dev.to
Tuplas
Una tupla contiene un grupo de uno o más valores del mismo o diferente tipos. Es útil para almacenar valores efímeros o temporales que, aunque están relacionados, no representan un tipo conceptual que pudiera ser representado con un struct o class. Además, las tuplas no tienen métodos ni conforman a protocolos.
Sintaxis básica
let myName: (String, String) = ("David", "Goyes")
let myInfo: (String, Int) = ("David", 10)
Cada valor de la tupla está indexado, lo que permite acceder a ellos —tanto para lectura como escritura— a través de la notación punto. Para sobrescribir un índice, se debe asignar un nuevo valor del mismo tipo:
var myInfo: (String, Int) = ("David", 10)
myInfo.1 = 11
let text = "Me llamo \(myInfo.0) y tengo \(myInfo.1) años"
// Me llamo David y tengo 11 años
Nombres de los elementos
Para mayor claridad, se pueden asignar nombres a cada uno de los elementos de la tupla:
var myInfo: (nombre: String, edad: Int) = (nombre: "David", edad: 10)
myInfo.edad = 11
let text = "Me llamo \(myInfo.nombre) y tengo \(myInfo.edad) años"
// Me llamo David y tengo 11 años
Descomposición en variables independientes
Los valores de una tupla pueden copiarse en variables independientes declarando los nombres de las variables entre paréntesis; sus valores se asignan en el mismo orden que aparecen en la tupla:
let (nombre, edad) = ("David", 10)
let text = "Me llamo \(nombre) y tengo \(edad) años"
// Me llamo David y tengo 10 años