字典是一种用来存放相同类型的数据项的集合。和数组不同的是这些数据都以键值对的形式存在的,并且无序的。Swift中字典的概念和现实世界中的字典的概念很相似,都是通过索引(key)来查里面特定的值(value)。和数组类型一样,字典类型在Swift中也有两种写法:
1、完整版写法Dictionary<keyType,valueType>
2、简化版[keyType,valueType]
一、初始化一个空字典
创建空字典:使用字典类型的构造器来初始化一个空字典:
示例:var demoDic = [Int : String]() // 为字典赋值 demoDic[12] = "hello,Dictinary"
二、字典字面量
字典字面量是用方括号方法将“值”括起来,不同“值”之间用逗号隔开,字典中的每个值是一个键值对组合。
字典字面量格式:[key1:value1,key2:value2,key3:value3]
示例:
var week : [String : String] = ["yesterday":"Sunday","today":"Monday","tomorrow":"Tuesday"] // 简化写法: var week = ["yesterday":"Sunday","tomorrow":"Tuesday"]
三、字典的一些使用
1、通过count统计字典中键值对的个数
println("week中含有\(week.count)个元素") // 打印week数目为3
2、通过isEmpty判断字典是否为空
if week.isEmpty { println("week字典为空") }else{ println("week字典非空") }
3、字典增加长度:字典中可以通过附属脚本的语法来增加其长度,示例:dic[key] = value;在插入新的键值对时必须和字典中所存储的键值对类型相匹配
week["theDayBeforeYesterday"] = "Saturday" println("week字典数目\(week.count)") // 打印数目为4
4、修改已有键值
week["today"] = "Mon" println("\(week)")
我们可以通过字典提供的updateValue(forKey:)方法来增添或者修改字典里的数据。需要指出的是:当使用updateValue(forKey:)方法为数组增加一个新的键值对时,该方法返回值为空,当用这个方法修改一个已存在键值对时,返回修改前的值。
修改一个值
let oldValue = week.updateValue("Sun",forKey: "yesterday")
5、删除字典键值对
let removeValue = week.removeValueForKey("yesterday")四、字典遍历
同数组一样,字典遍历也需要使用for in循环。不过和遍历数组有所不同,对于字典遍历可以遍历字典键值对,也可以遍历键或者值的集合。
// 1、遍历字典键值对 for (weekKey,weekValue) in week { println("\(weekKey) : \(weekValue)") } // 2、遍历字典所有的键 for weekKey in week.keys { println("\(weekKey)") } // 3、遍历字典所有值 for weekValue in week.values { println("\(weekValue)") }