Latest web development tutorials

diccionario Swift

Una colección del mismo tipo utilizado para el diccionario de almacén de datos trastorno Swift, diccionario Swift hace cumplir tipo de elemento de detección, si un tipo diferente de error se produce.

Swift diccionario para cada valor (valor) está asociado clave única (clave), el identificador de clave como el valor de datos de diccionario.

Y una serie de diferentes elementos de datos, elemento del diccionario de datos y no hay un orden específico. Tenemos que utilizar el identificador del diccionario (tecla) para acceder a los datos, y usamos este enfoque en gran medida el significado del diccionario de los mismos métodos en el mundo real.

Swift clave de diccionario no hay restricciones sobre el tipo puede ser un número entero o una cadena, pero debe ser único.

Si crea un diccionario, y se asigna a una variable, el diccionario se crea que puede ser modificado. Esto significa que después de crear el diccionario, puede añadir, borrar, modificar, cambiar la forma en que el proyecto de diccionario. Si un diccionario está asignado a una constante, no se puede modificar el diccionario, y el tamaño y el contenido del diccionario no puede ser modificado.


crear diccionario

Podemos utilizar la siguiente sintaxis para crear un tipo específico de diccionario vacío:

var someDict =  [KeyType: ValueType]()

La siguiente es la creación de un diccionario vacío, escriba la clave para Int, el valor de tipo String es una sintaxis sencilla:

var someDict = [Int: String]()

El siguiente es crear una instancia de diccionario:

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

El acceso diccionario

Podemos acceder a elementos de la matriz de acuerdo con el diccionario de índice, la sintaxis es la siguiente:

var someVar = someDict[key]

Por los siguientes ejemplos, podemos aprender a crear, inicializar, diccionarios de acceso:

import Cocoa

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

var someVar = someDict[1]

print( "key = 1 的值为 \(someVar)" )
print( "key = 2 的值为 \(someDict[2])" )
print( "key = 3 的值为 \(someDict[3])" )

La salida por encima de la ejecución del programa es:

key = 1 的值为 Optional("One")
key = 2 的值为 Optional("Two")
key = 3 的值为 Optional("Three")

Modificación de un diccionario

Podemos utilizarUpdateValue (forKey :) añadir o actualizar el contenido del diccionario.Si no existe la clave, agregue el valor, si hay que modificar el valor correspondiente llave. UpdateValue (_: forKey :) método devuelve un valor opcional. Ejemplos son los siguientes:

import Cocoa

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

var oldVal = someDict.updateValue("One 新的值", forKey: 1)

var someVar = someDict[1]

print( "key = 1 旧的值 \(oldVal)" )
print( "key = 1 的值为 \(someVar)" )
print( "key = 2 的值为 \(someDict[2])" )
print( "key = 3 的值为 \(someDict[3])" )

La salida por encima de la ejecución del programa es:

key = 1 旧的值 Optional("One")
key = 1 的值为 Optional("One 新的值")
key = 2 的值为 Optional("Two")
key = 3 的值为 Optional("Three")

También puede modificar el valor de un diccionario mediante la especificación de la clave, de la siguiente manera:

import Cocoa

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

var oldVal = someDict[1]
someDict[1] = "One 新的值"
var someVar = someDict[1]

print( "key = 1 旧的值 \(oldVal)" )
print( "key = 1 的值为 \(someVar)" )
print( "key = 2 的值为 \(someDict[2])" )
print( "key = 3 的值为 \(someDict[3])" )

La salida por encima de la ejecución del programa es:

key = 1 旧的值 Optional("One")
key = 1 的值为 Optional("One 新的值")
key = 2 的值为 Optional("Two")
key = 3 的值为 Optional("Three")

Retire el par de valores-clave

Podemos utilizar el métodoremoveValueForKey () para eliminar los pares de valores clave de diccionario.Si existe la clave, el método devuelve el valor extraído, si no hay nada a cambio. Ejemplos son los siguientes:

import Cocoa

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

var removedValue = someDict.removeValueForKey(2)

print( "key = 1 的值为 \(someDict[1])" )
print( "key = 2 的值为 \(someDict[2])" )
print( "key = 3 的值为 \(someDict[3])" )

La salida por encima de la ejecución del programa es:

key = 1 的值为 Optional("One")
key = 2 的值为 nil
key = 3 的值为 Optional("Three")

También puede quitar clave-valor especificando el valor de la clave de nil - pares (clave de valor). Ejemplos son los siguientes:

import Cocoa

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

someDict[2] = nil

print( "key = 1 的值为 \(someDict[1])" )
print( "key = 2 的值为 \(someDict[2])" )
print( "key = 3 的值为 \(someDict[3])" )

La salida por encima de la ejecución del programa es:

key = 1 的值为 Optional("One")
key = 2 的值为 nil
key = 3 的值为 Optional("Three")

diccionario de recorrido

Podemos utilizar el buclefor-in para iterar sobre un diccionario de pares de valores clave.Ejemplos son los siguientes:

import Cocoa

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

for (key, value) in someDict {
   print("字典 key \(key) -  字典 value \(value)")
}

La salida por encima de la ejecución del programa es:

字典 key 2 -  字典 value Two
字典 key 3 -  字典 value Three
字典 key 1 -  字典 value One

También podemos usar el método de enumeración () para el recorrido diccionario, devuelve el índice del diccionario de pares y la (clave, valor), los ejemplos son los siguientes:

import Cocoa

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

for (key, value) in someDict.enumerate() {
    print("字典 key \(key) -  字典 (key, value) 对 \(value)")
}

La salida por encima de la ejecución del programa es:

字典 key 0 -  字典 (key, value) 对 (2, "Two")
字典 key 1 -  字典 (key, value) 对 (3, "Three")
字典 key 2 -  字典 (key, value) 对 (1, "One")

Diccionario en una matriz

Puede extraer las claves del diccionario de pares (clave-valor), y se convierte en una matriz separada. Ejemplos son los siguientes:

import Cocoa

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

let dictKeys = [Int](someDict.keys)
let dictValues = [String](someDict.values)

print("输出字典的键(key)")

for (key) in dictKeys {
    print("\(key)")
}

print("输出字典的值(value)")

for (value) in dictValues {
    print("\(value)")
}

La salida por encima de la ejecución del programa es:

输出字典的键(key)
2
3
1
输出字典的值(value)
Two
Three
One

contar con la propiedad

Podemos usar el atributo de sólo lecturacuenta para calcular el número de diccionario par clave-valor:

import Cocoa

var someDict1:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
var someDict2:[Int:String] = [4:"Four", 5:"Five"]

print("someDict1 含有 \(someDict1.count) 个键值对")
print("someDict2 含有 \(someDict2.count) 个键值对")

La salida por encima de la ejecución del programa es:

someDict1 含有 3 个键值对
someDict2 含有 2 个键值对

propiedad estaVacia

Y podemosestaVacia atributo de sólo lectura para determinar si el diccionario está vacía, devuelve un valor booleano:

import Cocoa

var someDict1:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
var someDict2:[Int:String] = [4:"Four", 5:"Five"]
var someDict3:[Int:String] = [Int:String]()

print("someDict1 = \(someDict1.isEmpty)")
print("someDict2 = \(someDict2.isEmpty)")
print("someDict3 = \(someDict3.isEmpty)")

La salida por encima de la ejecución del programa es:

someDict1 = false
someDict2 = false
someDict3 = true