在Swift字典中,我們可以通過(guò)字典的鍵來(lái)訪問(wèn)該鍵對(duì)應(yīng)的值徘钥。示例代碼如下:
1| ?var addressDict = ["上海" : "黃浦區(qū)","廣東" : "深圳","江蘇" : "南京"]
2| ?print(addressDict["上海"]!)
運(yùn)行結(jié)果:黃浦區(qū)
除了對(duì)字典單個(gè)值進(jìn)行訪問(wèn)变骡,我么還可以對(duì)字典進(jìn)行遍歷离赫。遍歷字典是字典的重要操作。與數(shù)組不同,字典由鍵和值兩部分組成锣光。因此遍歷過(guò)程可以通過(guò)遍歷值,也可以通過(guò)遍歷鍵,也可以同時(shí)遍歷。這些遍歷過(guò)程都是通過(guò)for-in循環(huán)實(shí)現(xiàn)的铝耻。下面是遍歷字典的示例代碼:
1 | ?var addressDict = ["上海" : "黃浦區(qū)","廣東" : "深圳","江蘇" : "南京"]
2 | ?for cityName in addressDict.keys {
3 | ?????print("遍歷鍵key:\(cityName)")
4 | ?????print("對(duì)應(yīng)的值value:\(addressDict[cityName]!)")
5 | ?}
6 | ?for addressName in addressDict.values {
7 | ?????print("遍歷值value:\(addressName)")
8 | ?}
9 | ?for (cityName, addressName) in addressDict {
10 | ?????print("遍歷鍵值key:\(cityName) : value:\(addressName)")
11 | ?}
運(yùn)行結(jié)果如下:
遍歷鍵key:江蘇
對(duì)應(yīng)的值value:南京
遍歷鍵key:上海
對(duì)應(yīng)的值value:黃浦區(qū)
遍歷鍵key:廣東
對(duì)應(yīng)的值value:深圳
遍歷值value:南京
遍歷值value:黃浦區(qū)
遍歷值value:深圳
遍歷鍵值key:江蘇: value:南京
遍歷鍵值key:上海: value:黃浦區(qū)
遍歷鍵值key:廣東: value:深圳
上述代碼,我們采用有3種方法遍歷字典,它們都采用了for in語(yǔ)句誊爹。第2行代碼采用的for-in循環(huán)遍歷了鍵集合,其中keys是字典屬性,可以返回所有鍵的集合蹬刷。第3行代碼打印出字典所有的鍵,第4行代碼打印出鍵對(duì)應(yīng)的值频丘。
第6行代碼采用for-in循環(huán)遍歷了值的集合,其中values是字典屬性,可以返回所有值的集合办成。第7行代碼打印出字典所有的值。
第9行代碼采用的for-in循環(huán)遍歷取出的字典元素,(cityName, addressName)是元組類型,它是由鍵變量cityName和值變量addressName組成的搂漠。第10行代碼打印出字典所有的鍵值對(duì)迂卢。
與數(shù)組一樣,我們可以通過(guò)只讀屬性count獲得Dictionary中元素的數(shù)量:
1 | ?var addressDict = ["上海" : "黃浦區(qū)","廣東" : "深圳","江蘇" : "南京"]
2 | ?print("The addressDict contains \(addressDict.count) items.")
輸出結(jié)果:The addressDict contains 3 items.