Latest web development tutorials

dicionário Swift

Uma coleção do mesmo tipo usado para armazenamento de dados dicionário transtorno Swift, dicionário Swift impõe elemento de detecção do tipo, se um tipo diferente de erro ocorre.

dicionário Swift para cada valor (value) é associado chave única (chave), o identificador de chave como o valor de dados de dicionário.

E uma variedade de diferentes itens de dados, item de dicionário de dados e não há nenhuma ordem específica. Nós precisamos usar o identificador de dicionário (chave) para acessar os dados, e usar essa abordagem em grande medida o significado do dicionário dos mesmos métodos do mundo real.

chave do dicionário Swift há restrições sobre o tipo pode ser inteiro ou uma string, mas deve ser exclusivo.

Se você criar um dicionário, e atribuído a uma variável, o dicionário é criado que pode ser modificado. Isto significa que depois de criar o dicionário, pode acrescentar, apagar, modificar, alterar a forma como o projeto do dicionário. Se um dicionário é atribuído a uma constante, você não pode modificar o dicionário, e o tamanho do dicionário e conteúdo não pode ser modificado.


Criar dicionário

Podemos usar a seguinte sintaxe para criar um tipo específico de dicionário vazio:

var someDict =  [KeyType: ValueType]()

O seguinte é a criação de um dicionário vazio, digite a chave para Int, valor tipo String é uma sintaxe simples:

var someDict = [Int: String]()

O seguinte é criar uma instância de dicionário:

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

dicionário de acesso

Nós podemos aceder a elementos da matriz de acordo com o dicionário de índice, a sintaxe é a seguinte:

var someVar = someDict[key]

Pelos seguintes exemplos, podemos aprender como criar, inicializar, dicionários de acesso:

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])" )

A saída de execução de programa acima é:

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

Modificando um dicionário

Podemos usarUpdateValue (forKey :) adicionar ou atualizar o conteúdo do dicionário.Se a chave não existir, adicione o valor, se houver para modificar o valor correspondente chave. UpdateValue (_: forKey :) método opcional retorna um valor. Exemplos são os seguintes:

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])" )

A saída de execução de programa acima é:

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

Você também pode modificar o valor de um dicionário, especificando a chave, como segue:

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])" )

A saída de execução de programa acima é:

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

Retirar de key-value pair

Podemos usar o métodoremoveValueForKey () para remover os pares chave-valor do dicionário.Se a chave, o método devolve o valor removido, se não houver nil retorno. Exemplos são os seguintes:

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])" )

A saída de execução de programa acima é:

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

Você também pode remover key-value, especificando o valor da chave de zero - pares (chave de valor). Exemplos são os seguintes:

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])" )

A saída de execução de programa acima é:

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

dicionário Traversal

Podemos usar o looppara-in para iterar um dicionário de pares chave-valor.Exemplos são os seguintes:

import Cocoa

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

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

A saída de execução de programa acima é:

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

Nós também podemos usar o método enumerate () para a travessia dicionário, retorna o índice dos pares de dicionário e o (chave, valor), os exemplos são os seguintes:

import Cocoa

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

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

A saída de execução de programa acima é:

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

Dicionário em uma matriz

Você pode extrair as chaves do dicionário de pares (chave-valor), e convertido para uma matriz separada. Exemplos são os seguintes:

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)")
}

A saída de execução de programa acima é:

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

propriedade Count

Nós podemos usar o atributo somente leituracontar para calcular o número de dicionário de pares de valores-chave:

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) 个键值对")

A saída de execução de programa acima é:

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

propriedade isEmpty

Y podemosisEmpty atributo somente leitura para determinar se o dicionário estiver vazio, retorna um 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)")

A saída de execução de programa acima é:

someDict1 = false
someDict2 = false
someDict3 = true