Latest web development tutorials

kamus Swift

Sebuah koleksi dari jenis yang sama yang digunakan untuk gangguan Swift menyimpan data kamus, kamus Swift memberlakukan jenis elemen deteksi, jika berbagai jenis kesalahan terjadi.

kamus Swift untuk setiap nilai (value) dikaitkan kunci unik (kunci), identifier kunci sebagai nilai kamus data.

Dan sebuah array dari item data yang berbeda, item data kamus dan tidak ada urutan tertentu. Kita perlu menggunakan kamus identifier (kunci) untuk mengakses data, dan kita menggunakan pendekatan ini untuk sebagian besar arti kamus dari metode yang sama di dunia nyata.

kunci kamus Swift tidak ada pembatasan pada jenis bisa integer atau string, tapi harus unik.

Jika Anda membuat sebuah kamus, dan ditugaskan ke variabel, kamus dibuat yang dapat dimodifikasi. Ini berarti bahwa setelah Anda membuat kamus, Anda dapat menambah, menghapus, memodifikasi, mengubah cara proyek kamus. Jika kamus ditugaskan untuk konstan, Anda tidak dapat mengubah kamus, dan ukuran kamus dan konten tidak dapat diubah.


membuat kamus

Kita dapat menggunakan sintaks berikut untuk membuat jenis tertentu dari kamus kosong:

var someDict =  [KeyType: ValueType]()

Berikut adalah menciptakan kamus kosong, ketik kunci untuk Int, nilai tipe String adalah sintaks yang sederhana:

var someDict = [Int: String]()

Berikut ini adalah untuk membuat contoh kamus:

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

akses kamus

Kita dapat mengakses elemen array menurut kamus indeks, sintaksnya adalah sebagai berikut:

var someVar = someDict[key]

Dengan contoh-contoh berikut, kita bisa belajar cara membuat, menginisialisasi, kamus akses:

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

Output di atas eksekusi program adalah:

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

Memodifikasi kamus

Kita dapat menggunakanupdateValue (forKey :) menambah atau memperbarui isi kamus.Jika kunci tidak ada, tambahkan nilai, jika ada untuk mengubah nilai yang sesuai kunci. updateValue (_: forKey :) metode Opsional mengembalikan nilai. Contohnya adalah sebagai berikut:

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

Output di atas eksekusi program adalah:

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

Anda juga dapat mengubah nilai sebuah kamus dengan menentukan kunci, sebagai berikut:

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

Output di atas eksekusi program adalah:

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

Hapus pasangan Key-Nilai

Kita dapat menggunakan metoderemoveValueForKey () untuk menghapus pasangan kunci-nilai kamus.Jika kunci ada, metode mengembalikan nilai dihapus, jika tidak ada nihil pulang. Contohnya adalah sebagai berikut:

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

Output di atas eksekusi program adalah:

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

Anda juga dapat menghapus kunci-nilai dengan menentukan nilai kunci dari nihil (key - value) pasangan. Contohnya adalah sebagai berikut:

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

Output di atas eksekusi program adalah:

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

traversal kamus

Kita dapat menggunakanuntuk-in loop untuk iterate atas kamus pasangan kunci-nilai.Contohnya adalah sebagai berikut:

import Cocoa

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

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

Output di atas eksekusi program adalah:

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

Kita juga bisa menggunakan Menghitung () metode untuk traversal kamus, mengembalikan indeks dari kamus dan (key, value) pasangan, contoh adalah sebagai berikut:

import Cocoa

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

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

Output di atas eksekusi program adalah:

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

Kamus ke dalam array

Anda dapat mengekstrak kunci dari kamus (key-value) pasangan, dan dikonversi ke array terpisah. Contohnya adalah sebagai berikut:

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

Output di atas eksekusi program adalah:

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

menghitung properti

Kita dapat menggunakan atribut read-onlymenghitung menghitung jumlah pasangan kunci-nilai kamus:

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

Output di atas eksekusi program adalah:

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

properti isEmpty

Y kita bisaisEmpty atribut read-only untuk menentukan apakah kamus kosong, mengembalikan nilai Boolean:

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

Output di atas eksekusi program adalah:

someDict1 = false
someDict2 = false
someDict3 = true