字典是用于存储同一类型不同值的集合。它存储的每个元素包含一个键(Key)和一个值。其中的值都和键相对应。在Swift中,对于一个特定的字典,它所能存储的键和值都是确定的,无论是明确声明的类型还是隐式推断的类型。在使用字典之前,必须声明和定义。声明字典的完整写法形式如下。

  Dictionary<KeyType,ValueType>

  其中,KeyType表示键的数据类型;ValueType表示值的数据类型。注意:KeyType必须是可哈希的(hashable)-就是提供一种形式让它们自身时独立识别的。Swift的所有基础类型(例如字符串(String),整数(Int),双精度(Double),和布尔( Bool)默认都是可哈希的(hashable。)一般字典的声明和定义是放在一起进行的,其语法形式如下。

  let 常量字典名:Dictionary<KeyType,ValueType>=内容

  var 变量字典名:Dictionary<KeyType,ValueType>=内容

  其中,DIctionary<KeyType,ValueType>是可以省略的。内容其实就是一些字典字面量,是一个或多个键值对。一个键值对是一个键和值的组合。键和值使用冒号分隔,而多个键值对使用逗号分割。其键值对语法形式如下。

  key:value

  其中,参数key表示键,value表示值。字典字面量就是由键值对和一对[]组合。字典字面量可以直邮一个键值对。字典字面量语法形式如下。

  [key:value]

  当字典字面量有多个键值对,其语法形式如下:

  [key1:value1,key2:value2,key3:value3……]

eg:

  let dic=[1:"a",2:"b",3:"c"]

  print(dic)

  此时运行程序,会看到如下的结果。

[3:c,2:b,1:a]

  在字典中也可以进行很多的操作,如判断,插入,删除等。表3-12对字典的常用操作进行了总结(详见p56)

eg:

  var dic=[1:"a",2:"b",3:"c"]

  print(dic)

  dic[4]="d"//添加

  print(dic)

  dic.removeValueForKey(3)//删除指定的键值对

  print(dic)

  let value=dic[2]//读取指定的键值

  print(value)

 

此时运行程序,会看到如下的结果。

[2:b,3:c,1:a]

[2:b,3:c,1:a,4:d]

[2:b,1:a,4:d]

Optional("b")