字典和数组的操作大致相同 , 只是在合并方面略有出入
//1.定义字典 (定义方法非常多 ,只写几种常用写法)
//<1.1 定义不可变字典
let dic = ["name":"my","age":18,"height":1.85]
//<1.2 定义可变字典
//创建一个值为任意类型的字典
var dicM = [String:AnyObject]() //NSObcject一般用于创建任意对象 ,AnyObject用于指定任意类型
//2.对可变字典的基本操作
//<2.1 添加元素
//直接使用字面量写法
dicM["name"] = "my"
dicM["age"] = 18
dicM["height"] = 1.85
//<2.2 删除元素
//删除所有
dicM.removeAll()
//删除所有,以及容量
dicM.removeAll(keepCapacity: true)
//删除对应键的元素
dicM.removeValueForKey("name")
//<2.3 修改元素
dicM["name"] = "ym" //此处和OC一样,如果字典已经存在name对应的键值对,就是修改,不存在就是添加键值对
//<2.4 获取元素
//字面量写法
let age = dicM["age"]
//3.遍历字典
//>3.1 遍历所有的key
for key in dicM.keys {
print(key)
}
//>3.2 遍历所有的values
for value in dicM.values {
print(value)
}
//>3.3 遍历所有的键值对
for (key,value) in dicM {
print("键:\(key)---值:\(value)")
}
//4.合并字典
var dictM = ["name":"my","age":18]
let dict = ["homeTown":"Chongqing","height":1.85]
//注意:和数组不一样 ,即使类型一致,也不能进行相加合并
//正确做法: 通过遍历取出字典所有键值对,添加到可变字典中
for (key,value) in dict {
dictM[key] = value
}