Latest web development tutorials

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