Arrays

Un array en Swift representa una colleción de valores del mismo tipo.

let numbers = [1, 2, 3]

En el ejemplo anterior creamos una constante llamada numbers y le asignamos un array de numbers usando la notación literal [1, 2, 3].

Si inspeccionamos la constante numbers nos vamos a dar cuenta que su tipo es Array<Int>, o sea, array de números enteros.

$ swift
1> let numbers = [1, 2, 3]
2> print(type(of: numbers))
Array<Int>

Esto significa que el array numbers solamente puede contener datos de tipo Int. Otra forma de representar el tipo de dato de esta constante es [Int]. Ambas representaciones, tanto Array<Int> como [Int] son equivalentes e intercambiables, pero se prefiere el uso de la notación compacta [Int].

Para poder modificar un array después de haber sido creado, es necesario que la declaración del mismo indique que es una varible, no una constante:

var names = ["Oscar", "Marco", "Antonio"]
names.append("María") // #=> ["Oscar", "Marco", "Antonio", "Maria"]
names.removeFirst()   // #=> ["Marco", "Antonio", "Maria"]
names.removeAll()     // #=> []

En el listado de código anterior se ejecutaron una serie de métodos sobre el array, modificando su contenido.

Es importante denotar que un array (cualquier variable o constante, realmente) no puede ser manipulada o leída sino hasta después de haber sido inicializado.

var userAges: [Int]   // En este momento, se ha declarado la variable nombres, pero no ha sido inicializada
print(userAges.count) // La propiedad count no puede ser usada en este momento
userAges = [12, 29, 22, 34]

Si intentamos compilar lo anterior, el compilador va a decirnos que estamos intentando usar userAges antes de haber sido inicializada:

$ swift array.swift
array.swift:2:1: error: variable 'userAges' used before being initialized
edades.count
^
array.swift:1:5: note: variable defined here
var edades: [Int]
    ^

Al invertir el orden de las lineas 2 y 3, tenemos el resultado esperado:

$ swift array.swift
4

Lo anterior aplica para cualquier declaración.


Referencia:

  1. Documentación oficial de Array de Apple

Relacionados