Latest web development tutorials

Swift словарь

Коллекция одного и того же типа, который используется для хранения данных словаря Swift расстройства, Swift словарь усиливает элемент обнаружения типа, если другой тип ошибки происходит.

Swift словарь для каждого значения (значение) связан уникальный ключ (ключ), идентификатор ключа в качестве словаря значения данных.

И массив различных элементов данных, словаря данных элемента и нет никакого конкретного заказа. Нам необходимо использовать идентификатор словаря (ключ), чтобы получить доступ к данным, и мы используем этот подход в значительной степени словарное значение одних и тех же методов в реальном мире.

Swift ключ словаря никаких ограничений на тип не может быть целым числом или строкой, но должно быть уникальным.

При создании словаря, и присваивается переменной, словарь создан, который может быть изменен. Это означает, что после создания словаря, вы можете добавлять, удалять, изменять, изменить способ словаря проекта. Если словарь присваивается константа, вы не можете изменить словарь, и размер словаря и содержание не может быть изменен.


Создать словарь

Мы можем использовать следующий синтаксис для создания определенного типа пустого словаря:

var someDict =  [KeyType: ValueType]()

Далее создает пустой словарь, введите ключ для Int, значение типа Строка является простой синтаксис:

var someDict = [Int: String]()

Далее заключается в создании словаря экземпляр:

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

словарь доступа

Мы можем получить доступ к элементам массива согласно словарю индекса, синтаксис выглядит следующим образом:

var someVar = someDict[key]

Следующими примерами, мы можем узнать, как создавать, инициализировать, словари доступа:

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

Выход выше выполнение программы:

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

Изменение словаря

Мы можем использоватьupdateValue (forKey :) добавить или обновить содержимое словаря.Если ключ не существует, добавьте значение, если есть изменить соответствующее значение ключа. updateValue (_: forKey :) Необязательный метод возвращает значение. Примерами могут служить следующие:

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

Выход выше выполнение программы:

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

Можно также изменить значение словаря, указав ключ, следующим образом:

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

Выход выше выполнение программы:

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

Удалить пару ключ-значение

Мы можем использовать методremoveValueForKey () , чтобы удалить из словаря пар ключ-значение.Если ключ существует, метод возвращает удаленное значение, если нет возврата к нулю. Примерами могут служить следующие:

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

Выход выше выполнение программы:

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

Вы также можете удалить ключ-значение, указав ключевое значение ниль - пар (значение ключа). Примерами могут служить следующие:

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

Выход выше выполнение программы:

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

словарь Traversal

Мы можем использоватьдля в цикл для перебора словаря пар ключ-значение.Примерами могут служить следующие:

import Cocoa

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

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

Выход выше выполнение программы:

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

Мы можем также использовать Перечислим () метод в словаре обходе, возвращает индекс пар словаря и (ключ, значение), примеры заключаются в следующем:

import Cocoa

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

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

Выход выше выполнение программы:

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

Словарь в массив

Вы можете извлечь ключи словаря пар (ключ-значение), и преобразуется в отдельный массив. Примерами могут служить следующие:

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

Выход выше выполнение программы:

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

кол-недвижимость

Мы можем использовать атрибут только для чтения , чтобырассчитывать рассчитать количество ключ-значение словаря пары:

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

Выход выше выполнение программы:

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

IsEmpty недвижимость

Y мы можемIsEmpty атрибут только для чтения , чтобы определить , является ли пустой словарь, возвращает логическое значение:

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

Выход выше выполнение программы:

someDict1 = false
someDict2 = false
someDict3 = true