字典類型快捷語法
- swift的字典使用Dictionary<Key,Value>定義,其中Key是字典中鍵的數(shù)據(jù)類型,Value是字典中鍵的數(shù)據(jù)類型吭产,Value是字典中對應(yīng)于這些鍵所存儲值的數(shù)據(jù)類型.
- 我們也可以用[Key:Value]這樣快捷的形勢去創(chuàng)建衣蛾字典類型伶椿。雖然這兩種形勢功能上相同月褥,但是后者是首選等浊。
創(chuàng)建一個空字典
- 用構(gòu)造方法創(chuàng)建空字典:
var namesOfIntegers = [Int:String]()
- 根據(jù)上下文創(chuàng)建空字典:
var namesOfIntegers = [Int:String]()
namesOfIntegers[16] = "fdfd"
namesOfIntegers = [:]
//namesOfIntegers會被自動推斷為Dictionary<Int,String>類型
- 字面量創(chuàng)建空字典:
car airport = ["YYZ":"Toronto Pearson","DUB":"Dublin"]
//airport會被自動推斷為Dictionary<Int,String>類型且有兩個成員,成員之間用,隔開.
讀取和修改字典
- 通過count屬性來獲取字典的數(shù)據(jù)項數(shù)量
- 使用isEmpty屬性來快捷檢查字典count屬性是否等于0.
- 可以使用下標(biāo)語法來添加新的數(shù)據(jù)項抄谐。
var namesOfIntegers = [Int:String]()
namesOfIntegers["LHR"] = "London"
//為空字典namesOfIntegers添加了一個數(shù)據(jù)項
- 用下標(biāo)語法來訪問一個數(shù)據(jù)項渺鹦。
var namesOfIntegers = [Int:String]()
namesOfIntegers["LHR"] = "London"
if let oldValue = namesOfIntegers["LHR"]{
//
}
字典的下標(biāo)會返回一個字典值類型的可選值。如果這個字典包含請求鍵所對應(yīng)的值蛹含,下標(biāo)會返回一個包含這個存在值的可選值毅厚,否則將返回nil。
- 我們可以使用下標(biāo)語法來通過給某個鍵的對應(yīng)值賦值為nil來從字典里移除一個鍵值對浦箱,或者調(diào)用removeValueForKer(_:)方法吸耿。
字典遍歷
我們可以使用 for-in循環(huán)來遍歷某個字典中的鍵值對。每一個字典中的數(shù)據(jù)項都以(key,value)元祖形式返回酷窥,并且我們可以使用臨時常量或者變量來分解這些元祖:
var namesOfIntegers = [Int:String]()
namesOfIntegers["LHR"] = "London"
for (airportCode,airportName) in namesOfIntegers{
//airportCode為每一個數(shù)據(jù)項的key, airportName為對應(yīng)的值
}