字典
引言:字典是一种无序的集合,它存储的是键值对之间的关系,其所有键的值需要是相同的类型,所有值的类型也需要相同。每个值(value)都关联唯一的键(key),键作为字典中这个值数据的标识符。和数组中的数据项不同,字典中的数据项并没有具体顺序。你在需要通过标识符(键)访问数据的时候使用字典
1.定义字典
1. let dic = [String:String]() 代表这是一个键、值类型均为String的空字典
2. let dic:[String:Int] = [:] 代表这是一个键类型为String,值类型为Int的空字典
3. let dic = ["jic":"kiss"] 代表这是一个键、值类型均为String的字典(系统默认检索键值类型)
4. let dic = [String:Any]() 代表这是键类型为String,值类型为任何类型的空字典(该用法较为常用,符合我们平时开发的习惯)
2.获取字典值
1. let dic:[String : Any] = ["name":"浩然","age":3]
print(dic["name"] as Any) as为类型转换,以后讲解类时会详细描述
输入为:Optional("浩然")
2. dic.count 代表字典内所有键值对的数量
3.修改、增加、删除键值(仅限var定义的字典)
1. var dic:[String : Any] = ["name":"浩然","age":3]
2. dic["name"] = "史浩然" 代表将原有的键"name"对应的值修改为"史浩然"
3. dic["height"] = 105 代表新增一个键值对(原字典没有的键视为新增,否则视为修改)
4. dic.removeAll() 代表删除字典内所有键值对
5. dic.removeValue(forKey: "age") 代表删除字典内键"age"以及所对应的值
//根据哈希索引值 删除(和removeValue结果一样。。。。)
6. let index = dic.index(forKey: "age")
dic.remove(at: index!)
代表删除字典内键"age"以及所对应的值
4.遍历字典
for (key,value) in dic {
print("\(key),\(value)")
}
遍历字典,()内首位永远是键,次位是值