字典
swift 字典不僅可以存儲對象類型的值拓哺,還可以存儲基本數(shù)據(jù)類型的值比伏,結(jié)構(gòu)體弥锄,枚舉值沼侣。字典本質(zhì)上也是結(jié)構(gòu)體祖能。
- 字典聲明
let dic1 = ["key1":1, "key2":2, "key3":3, "key4":4]
let dic2 = String:Int
let dic3:[String:Int] = ["key1":1, "key2":2, "key3":3, "key4":4]
let dic4:Dictionary = ["key1":1,"key2":2];
// 字典范性定義的方式
let dic5:Dictionary<String, Int> = ["key1":1, "key2":2, "key3":3]
let dic6:[String:AnyObject] = ["key1":1 as AnyObject, "key2":2 as AnyObject, "key3":"value3" as AnyObject, "key4":4 as AnyObject]
let dic7:NSDictionary = NSDictionary(dictionary: ["key1":1, "key2":2, "key3":3, "key4":4])
//使用init()構(gòu)造器
let dic8:[String:String] = Dictionary<String,String>()
//使用init(minimumCapacity:Int) 并且指定了字典的最小容量
let dic9:[String: Int] = Dictionary<String, Int>(minimumCapacity: 5) - 字典中元素的個數(shù)
print(dic3.count)
print(dic2.count) - 字典是否為空
print(dic1.isEmpty) - 獲取字典中的key/value
print(dic7.allKeys)
print(dic7.allValues)
print(dic4["key1"]!)
print(dic5["key2"]!) - 修改字典
var dic10:Dictionary<String,String>
dic10 = ["key1":"value1","key2":"value2"]
dic10["key1"] = "changeString"
print(dic10) - 添加字典
var dic10:Dictionary<String,String>
dic10 = ["key1":"value1","key2":"value2"]
dic10["key3"] = "value3"
dic10.updateValue("value", forKey: "key4") - 刪除
var dic10:Dictionary<String,String>
dic10 = ["key1":"value1","key2":"value2"]
// 刪除指定key
dic10["key1"] = nil
dic10.removeValue(forKey: "key2")
// 刪除全部
dic10 = [:]
dic10.removeAll()
// 對于 keepCapacity :false /true ,根據(jù)需求選擇 即可;區(qū)別是true的話,會保持數(shù)據(jù)容量,占據(jù)空間?
dic10.removeAll(keepingCapacity: true)
遍歷字典
for (key, value) in dic3 {
print(key,value)
}
for key in dic3.keys {
print(key)
}
for value in dic3.values {
print(value)
}