字典类型快捷语法
- swift的字典使用Dictionary<Key,Value>定义,其中Key是字典中键的数据类型,Value是字典中键的数据类型,Value是字典中对应于这些键所存储值的数据类型.
- 我们也可以用[Key:Value]这样快捷的形势去创建衣蛾字典类型。虽然这两种形势功能上相同,但是后者是首选。
创建一个空字典
- 用构造方法创建空字典:
var namesOfIntegers = [Int:String]()
- 根据上下文创建空字典:
var namesOfIntegers = [Int:String]()
namesOfIntegers[16] = "fdfd"
namesOfIntegers = [:]
//namesOfIntegers会被自动推断为Dictionary<Int,String>类型
- 字面量创建空字典:
car airport = ["YYZ":"Toronto Pearson","DUB":"Dublin"]
//airport会被自动推断为Dictionary<Int,String>类型且有两个成员,成员之间用,隔开.
读取和修改字典
- 通过count属性来获取字典的数据项数量
- 使用isEmpty属性来快捷检查字典count属性是否等于0.
- 可以使用下标语法来添加新的数据项。
var namesOfIntegers = [Int:String]()
namesOfIntegers["LHR"] = "London"
//为空字典namesOfIntegers添加了一个数据项
- 用下标语法来访问一个数据项。
var namesOfIntegers = [Int:String]()
namesOfIntegers["LHR"] = "London"
if let oldValue = namesOfIntegers["LHR"]{
//
}
字典的下标会返回一个字典值类型的可选值。如果这个字典包含请求键所对应的值,下标会返回一个包含这个存在值的可选值,否则将返回nil。
- 我们可以使用下标语法来通过给某个键的对应值赋值为nil来从字典里移除一个键值对,或者调用removeValueForKer(_:)方法。
字典遍历
我们可以使用 for-in循环来遍历某个字典中的键值对。每一个字典中的数据项都以(key,value)元祖形式返回,并且我们可以使用临时常量或者变量来分解这些元祖:
var namesOfIntegers = [Int:String]()
namesOfIntegers["LHR"] = "London"
for (airportCode,airportName) in namesOfIntegers{
//airportCode为每一个数据项的key, airportName为对应的值
}