gama Swift
array Swift usando una pluralidad de valores almacenados en una lista ordenada del mismo tipo. El mismo valor puede aparecer varias veces en diferentes lugares en una matriz.
Swift gama de fuerzas detecta el tipo de elemento, si se le da diferentes tipos, gama Swift debe seguir la forma como matriz <Elemento>, donde Elemento sólo está permitido en esta matriz existen tipos de datos.
Si crea una matriz y asignado a una variable, crear una colección que puede ser modificado. Esto significa que cuando se crea una matriz, se puede añadir, borrar, modificar, cambiar la forma de la matriz de elementos. Si asigna una constante de matriz, la matriz no será cambiado, y el tamaño y el contenido de la matriz no puede ser modificado.
Creación de una matriz
Podemos utilizar la sintaxis constructor para crear una matriz vacía que consiste en un tipo de datos específico:
var someArray = [SomeType]()
La siguiente es la creación de un tamaño inicial de la sintaxis de matrices:
var someArray = [SomeType](count: NumbeOfElements, repeatedValue: InitialValue)
En el siguiente ejemplo se crea un tipo de Int, tamaño 3, el valor inicial de 0 matriz vacía:
var someInts = [Int](count: 3, repeatedValue: 0)
En el siguiente ejemplo se crea una matriz con tres elementos:
var someInts:[Int] = [10, 20, 30]
matriz de acceso
Podemos acceder a elementos de la matriz de acuerdo con el índice de la matriz, la sintaxis es la siguiente:
var someVar = someArray[index]
Índice Índice comienza en 0, y el índice de 0 corresponde al primer elemento, el índice 1 se corresponde con el segundo elemento, y así sucesivamente.
Por los siguientes ejemplos, podemos aprender a crear, inicializar, accede a la matriz:
import Cocoa var someInts = [Int](count: 3, repeatedValue: 10) var someVar = someInts[0] print( "第一个元素的值 \(someVar)" ) print( "第二个元素的值 \(someInts[1])" ) print( "第三个元素的值 \(someInts[2])" )
La salida por encima de la ejecución del programa es:
第一个元素的值 10 第二个元素的值 10 第三个元素的值 10
Modificar la matriz
Puede utilizar el método append () o el operador de asignación + = añadir elementos al final de la matriz, como se muestra a continuación, inicializar una matriz, y 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])" )
La salida por encima de la ejecución del programa es:
第一个元素的值 20 第二个元素的值 30 第三个元素的值 40
También podemos modificar el valor del elemento de matriz indexada por:
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])" )
La salida por encima de la ejecución del programa es:
第一个元素的值 20 第二个元素的值 30 第三个元素的值 50
iterar
Podemos utilizar el bucle for-in para repetir todos los elementos de la matriz:
import Cocoa var someStrs = [String]() someStrs.append("Apple") someStrs.append("Amazon") someStrs.append("w3big") someStrs += ["Google"] for item in someStrs { print(item) }
La salida por encima de la ejecución del programa es:
Apple Amazon w3big Google
Si también tenemos valores y los valores de índice para cada elemento de datos, puede utilizar el método de cadena de enumeración () para atravesar la matriz. Ejemplos son los siguientes:
import Cocoa var someStrs = [String]() someStrs.append("Apple") someStrs.append("Amazon") someStrs.append("w3big") someStrs += ["Google"] for (index, item) in someStrs.enumerate() { print("在 index = \(index) 位置上的值为 \(item)") }
La salida por encima de la ejecución del programa es:
在 index = 0 位置上的值为 Apple 在 index = 1 位置上的值为 Amazon 在 index = 2 位置上的值为 w3big 在 index = 3 位置上的值为 Google
combinar matriz
Podemos utilizar el operador de suma (+) para fusionar los mismos dos tipos de matriz que ya existe. Tipo de datos de la nueva matriz se infiere de los tipos de datos de las dos matrices:
import Cocoa var intsA = [Int](count:2, repeatedValue: 2) var intsB = [Int](count:3, repeatedValue: 1) var intsC = intsA + intsB for item in intsC { print(item) }
La salida por encima de la ejecución del programa es:
2 2 1 1 1
contar con la propiedad
Podemos utilizar la propiedad de recuento para calcular el número de elementos de la matriz:
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)")
La salida por encima de la ejecución del programa es:
intsA 元素个数为 2 intsB 元素个数为 3 intsC 元素个数为 5
propiedad estaVacia
Podemos atributo de sólo lectura estaVacia para determinar si la matriz está vacía, 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)")
La salida por encima de la ejecución del programa es:
intsA.isEmpty = false intsB.isEmpty = false intsC.isEmpty = true