DEV Community

David Goyes
David Goyes

Posted on

Swift #7: 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, no tienen métodos, ni conforman a protocolos.

Creación

La sintaxis es envolver los datos entre paréntesis, separados por coma.

let myName: (String, String) = ("David", "Goyes")
let myInfo: (String, Int) = ("David", 10)
Enter fullscreen mode Exit fullscreen mode

Acceso

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 sobreescribir un índice, se debe asignar un nuevo valor del mismo tipo. Por ejemplo:

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
Enter fullscreen mode Exit fullscreen mode

Etiquetar miembros

Para mayor claridad, se puede asignar un nombre a cada uno de los elementos de la tupla, declarándolos antes del valor que representan.

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
Enter fullscreen mode Exit fullscreen mode

Destructuración

Se pueden copiar los valores de una tupa en variables independientes. Los nombres de las variables deben declararse entre paréntesis, y sus valores son asignados en el mismo orden que se declaran 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
Enter fullscreen mode Exit fullscreen mode

Top comments (0)