kamus Swift
Kamus Swift digunakan untuk menyimpan koleksi data yang tidak tersusun daripada jenis yang sama Kamus Swift akan mengesan jenis elemen dan melaporkan ralat jika jenisnya berbeza.
Setiap nilai dalam kamus Swift dikaitkan dengan kunci unik dan kunci itu berfungsi sebagai pengecam data nilai dalam kamus.
Tidak seperti item data dalam tatasusunan, item data dalam kamus tidak mempunyai susunan tertentu. Kami menggunakan kamus apabila kami perlu mengakses data melalui pengecam (kunci) Kaedah ini sebahagian besarnya sama dengan cara kami menggunakan kamus untuk mencari makna perkataan dalam dunia sebenar.
Kunci kamus Swift boleh menjadi integer atau rentetan tanpa sebarang sekatan jenis, tetapi ia mestilah unik.
Jika anda mencipta kamus dan menetapkannya kepada pembolehubah, kamus yang dibuat boleh diubah suai. Ini bermakna selepas kamus dicipta, item dalam kamus boleh ditukar dengan menambah, memadam atau mengubah suai. Jika anda menetapkan kamus kepada pemalar, kamus tidak boleh diubah suai dan saiz mahupun kandungan kamus tidak boleh diubah suai.
Buat Kamus
Kita boleh menggunakan sintaks berikut untuk mencipta kamus kosong jenis tertentu:
var someDict = [KeyType: ValueType]()
Berikut adalah untuk mencipta kamus kosong dengan kekunci jenis Int , sintaks ringkas jenis nilai ialah String:
var someDict = [Int: String]()
Berikut ialah contoh mencipta kamus:
var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
Mengakses kamus
Kita boleh berdasarkan indeks kamus Untuk mengakses elemen tatasusunan, sintaksnya adalah seperti berikut:
var someVar = someDict[key]
Kita boleh belajar cara mencipta, memulakan dan mengakses kamus melalui contoh berikut:
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])" )
Hasil keluaran pelaksanaan program di atas ialah:
key = 1 的值为 Optional("One") key = 2 的值为 Optional("Two") key = 3 的值为 Optional("Three")
Ubah Suai Kamus
Kita boleh menggunakan updateValue(forKey:) untuk menambah atau mengemas kini kandungan kamus. Jika kunci tidak wujud, tambahkan nilai Jika ia wujud, ubah suai nilai yang sepadan dengan kunci. Kaedah updateValue(_:forKey:) mengembalikan nilai Pilihan. Contohnya adalah seperti 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 pelaksanaan program di atas ialah:
key = 1 旧的值 Optional("One") key = 1 的值为 Optional("One 新的值") key = 2 的值为 Optional("Two") key = 3 的值为 Optional("Three")
Anda juga boleh mengubah suai nilai kamus dengan menentukan kunci, seperti ditunjukkan di bawah:
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])" )
Atur cara di atas Output pelaksanaan ialah:
key = 1 旧的值 Optional("One") key = 1 的值为 Optional("One 新的值") key = 2 的值为 Optional("Two") key = 3 的值为 Optional("Three")
Alih keluar pasangan Nilai-Kekunci
Kita boleh menggunakan kaedah removeValueForKey() untuk mengalih keluar pasangan nilai kunci kamus. Kaedah ini mengembalikan nilai yang dialih keluar jika kunci wujud, atau tiada jika ia tidak wujud. Contohnya adalah seperti 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])" )
Hasil output pelaksanaan program di atas ialah:
key = 1 的值为 Optional("One") key = 2 的值为 nil key = 3 的值为 Optional("Three")
Anda juga boleh mengalih keluar pasangan nilai kunci (nilai kunci) dengan menyatakan nilai kunci sebagai sifar . Contohnya adalah seperti 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])" )
Hasil output pelaksanaan program di atas ialah:
key = 1 的值为 Optional("One") key = 2 的值为 nil key = 3 的值为 Optional("Three")
Melintasi kamus
Kita boleh menggunakan <🎜 gelung >for-in untuk merentasi pasangan nilai kunci dalam kamus. Contohnya adalah seperti berikut:
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] for (key, value) in someDict { print("字典 key \(key) - 字典 value \(value)") }Output pelaksanaan program di atas ialah:
字典 key 2 - 字典 value Two 字典 key 3 - 字典 value Three 字典 key 1 - 字典 value OneKita juga boleh menggunakan kaedah enumerate() untuk melakukan traversal kamus, yang mengembalikan indeks kamus dan ( key, value) pair , contohnya adalah seperti 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)") }Hasil output pelaksanaan program di atas ialah:
字典 key 0 - 字典 (key, value) 对 (2, "Two") 字典 key 1 - 字典 (key, value) 对 (3, "Three") 字典 key 2 - 字典 (key, value) 对 (1, "One")
Kamus ditukarkan kepada tatasusunan Anda boleh mengekstrak nilai kunci kamus Ya dan ditukar kepada tatasusunan berasingan. Contohnya adalah seperti 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)") }Hasil output pelaksanaan program di atas ialah:
输出字典的键(key) 2 3 1 输出字典的值(value) Two Three One
atribut count
Kita boleh menggunakan atribut count baca sahaja untuk mengira bilangan pasangan nilai kunci yang ada pada 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) 个键值对")
The output pelaksanaan program di atas Hasilnya ialah:
someDict1 含有 3 个键值对 someDict2 含有 2 个键值对
atribut isEmpty
Y Kita boleh menggunakan atribut baca sahaja isEmpty untuk menentukan sama ada kamus kosong dan kembalikan 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)")
Hasil keluaran pelaksanaan program di atas ialah:
someDict1 = false someDict2 = false someDict3 = true