Swift Arrays
Los arrays de Swift usan listas ordenadas para almacenar múltiples valores del mismo tipo. El mismo valor puede aparecer varias veces en diferentes posiciones de un array.
Los arrays de Swift fuerzan la comprobación del tipo de los elementos; si el tipo es diferente, se producirá un error. Los arrays de Swift deben seguir una forma como Array<Element>, donde Element es el único tipo de datos permitido en ese array.
Si creas un array y lo asignas a una variable, la colección creada será modificable. Esto significa que después de crear el array, puedes cambiar los elementos del array mediante adición, eliminación o modificación. Si asignas un array a una constante, el array no se puede modificar, y tanto su tamaño como su contenido no pueden cambiarse.
Crear Arrays
Podemos usar la sintaxis de construcción para crear un array vacío compuesto por un tipo de datos específico:
var someArray = [SomeType]()
La siguiente es la sintaxis para crear un array con un tamaño inicializado:
var someArray = [SomeType](repeating: InitialValue, count: NumbeOfElements)
El siguiente ejemplo crea un array vacío de tipo Int, con cantidad 3 y valor inicial 0:
var someInts = [Int](repeating: 0, count: 3)
El siguiente ejemplo crea un array con tres elementos:
var someInts:[Int] = [10, 20, 30]
Acceder a los Arrays
Podemos acceder a los elementos del array según su índice, con la siguiente sintaxis:
var someVar = someArray[index]
El índice comienza desde 0, es decir, el índice 0 corresponde al primer elemento, el índice 1 al segundo elemento, y así sucesivamente.
Podemos aprender cómo crear, inicializar y acceder a los arrays mediante el siguiente ejemplo:
import Cocoa var someInts = [Int](repeating: 10, count: 3) var someVar = someInts[0] print( "第一个元素的值 \(someVar!)" ) print( "第二个元素的值 \(someInts[1]!)" ) print( "第三个元素的值 \(someInts[2]!)" )
El resultado de la ejecución del programa anterior es:
第一个元素的值 10 第二个元素的值 10 第三个元素的值 10
Modificar Arrays
Puedes usar el método append() o el operador de asignación += para añadir elementos al final del array. Como se muestra a continuación, inicializamos un array y le añadimos elementos:
import Cocoa var someInts = [Int]() someInts.append(20) someInts.append(30) someInts += [40] var someVar = someInts[0] print( "第一个元素的值 \(someVar)" ) print( "第二个元素的值 \(someInts[1])" ) print( "第三个元素的值 \(someInts[2])" )
El resultado de la ejecución del programa anterior es:
第一个元素的值 20 第二个元素的值 30 第三个元素的值 40
También podemos modificar el valor de los elementos del array mediante el índice:
import Cocoa var someInts = [Int]() someInts.append(20) someInts.append(30) someInts += [40] // 修改最后一个元素 someInts[2] = 50 var someVar = someInts[0] print( "第一个元素的值 \(someVar)" ) print( "第二个元素的值 \(someInts[1])" ) print( "第三个元素的值 \(someInts[2])" )
El resultado de la ejecución del programa anterior es:
第一个元素的值 20 第二个元素的值 30 第三个元素的值 50
Recorrer Arrays
Podemos usar un bucle for-in para recorrer todos los elementos de datos del array:
import Cocoa
var someStrs = [String]()
someStrs.append("Apple")
someStrs.append("Amazon")
someStrs.append("Ejemplo")
someStrs += ["Google"]
for item in someStrs {
print(item)
}
El resultado de la ejecución del programa anterior es:
Apple Amazon Ejemplo Google
Si necesitamos tanto el valor como el índice de cada elemento, podemos usar el método enumerated() de String para recorrer el array. Ejemplo:
import Cocoa
var someStrs = [String]()
someStrs.append("Apple")
someStrs.append("Amazon")
someStrs.append("Ejemplo")
someStrs += ["Google"]
for (index, item) in someStrs.enumerated() {
print("在 index = \(index) 位置上的值为 \(item)")
}
El resultado de la ejecución del programa anterior es:
在 index = 0 位置上的值为 Apple 在 index = 1 位置上的值为 Amazon 在 index = 2 位置上的值为 Ejemplo 在 index = 3 位置上的值为 Google
Fusionar Arrays
Podemos usar el operador de suma (+) para fusionar dos arrays existentes del mismo tipo. El tipo de datos del nuevo array se deducirá de los tipos de datos de los dos arrays:
import Cocoa
var intsA = [Int](repeating: 2, count:2)
var intsB = [Int](repeating: 1, count:3)
var intsC = intsA + intsB
for item in intsC {
print(item)
}
El resultado de la ejecución del programa anterior es:
2 2 1 1 1
Propiedad count
Podemos usar la propiedad count para calcular el número de elementos del array:
import Cocoa
var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)
var intsC = intsA + intsB
print("intsA 元素个数为 \(intsA.count)")
print("intsB 元素个数为 \(intsB.count)")
print("intsC 元素个数为 \(intsC.count)")
El resultado de la ejecución del programa anterior es:
intsA 元素个数为 2 intsB 元素个数为 3 intsC 元素个数为 5
Propiedad isEmpty
Podemos usar la propiedad de solo lectura isEmpty para determinar si el array está vacío; devuelve un valor booleano:
import Cocoa
var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)
var intsC = [Int]()
print("intsA.isEmpty = \(intsA.isEmpty)")
print("intsB.isEmpty = \(intsB.isEmpty)")
print("intsC.isEmpty = \(intsC.isEmpty)")
El resultado de la ejecución del programa anterior es:
intsA.isEmpty = false intsB.isEmpty = false intsC.isEmpty = trueOtras Extensiones