Aprende a Programar Apps para iPhone con  Swift, SwiftUI y UIKit - lafactoriaapple

Cómo se definen las Tuplas en Swift

Agrupamos bajo un mismo nombre varios datos que están relacionados de manera lógica.

Hasta ahora utilizábamos distintas Variables para cada uno de esos datos.

var codigoColor = "#ff0000"
var nombreColor = "Rojo"

Gracias a las Tuplas podremos agrupar esos dos datos en una única Variable formando una lista ordenada de elementos, los cuales se definirán entre paréntesis ( ).

var color = ("#ff0000", "Rojo")

Las Tuplas nos permiten agrupar elementos de distintos Tipos de Datos.

var alumno = ("Antonio Ruiz", 17)

En los ejemplos anteriores hemos comprobado que la Inferencia de Tipos también funciona con las Tuplas.

Veamos como se declara una Tupla haciendo la definición de los Tipos de Datos de los distintos elementos que la componen.

var alumno : (String, Int) = ("Antonio Ruiz", 17)

Nótese que tanto los Tipos de Datos que definen la Tupla, como los propios elementos que la componen se incluyen entre paréntesis ( ).

También podemos definir una Tupla asignando una etiqueta a cada uno de los datos que la componen, de esta forma el código será más legible.

var alumno = (nombreAlumno: "Antonio Ruiz", edadAlumno: 17)

Las Tuplas pueden tener tantos valores como queramos

var rgb : (Int, Int, Int) = (50, 117, 200)

Las Tuplas también se pueden definir como Constantes.

let nombreCompleto : (String, String) = ("Antonio", "Ruiz Castro")

Gracias a las Tuplas, una Función podrá devolvernos (return) varios valores agrupados todos ellos en una Tupla.

Definición de una Tupla según sus Componentes

Podemos definir una Tupla creando tantas Componentes como datos contenga.

var (r,g,b) = (150,100,200)
print(r)
print(g)
print(b)

Vemos que una vez más funciona la Inferencia de Tipos a la hora de definir la Tupla mediante sus Componentes, aunque igualmente podríamos haber declarado explícitamente los Tipos de Datos.

var (r,g,b) : (Int,Int,Int) = (150,100,200)
print(r)
print(g)
print(b)

Igualmente podemos definir Tuplas de esta manera teniendo datos de distintos Tipos

var (id,nombre) = (25,"Pedro")
print(id)
print(nombre)

Esta forma de definir las Tuplas es una de las maneras de extraer los datos de la misma.

Más en esta Sección

  • Cómo se extraen los datos de una Tupla