swift学习-字典(Dictionary)

字典类型快捷语法

  • swift的字典使用Dictionary定义,其中Key是字典中键的数据类型,Value是字典中键的数据类型,Value是字典中对应于这些键所存储值的数据类型.
  • 我们也可以用[Key:Value]这样快捷的形势去创建衣蛾字典类型。虽然这两种形势功能上相同,但是后者是首选。

创建一个空字典

  • 用构造方法创建空字典:
var namesOfIntegers = [Int:String]()
  • 根据上下文创建空字典:
var namesOfIntegers = [Int:String]()
 namesOfIntegers[16] = "fdfd"
namesOfIntegers = [:]
//namesOfIntegers会被自动推断为Dictionary类型
  • 字面量创建空字典:
car airport = ["YYZ":"Toronto Pearson","DUB":"Dublin"]
//airport会被自动推断为Dictionary类型且有两个成员,成员之间用,隔开.

读取和修改字典

  • 通过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为对应的值
}

你可能感兴趣的:(swift学习-字典(Dictionary))