一. 字典的介绍
• 字典允许按照某个键来访问元素
• 字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合
• 键集合是不能有重复元素的,而值集合是可以重复的,键和值是成对出现的
• Swift中的字典(Swift字典类型是Dictionary,也是一个泛型集合)
二. 字典的初始化
○ 使用let修饰的数组是不可变字典
○ 使用var修饰的数组是可变字典
三. 字典的增删改查
// 3.对可变字典的操作
//初始化
var dictM = [String : Any]()
// 3.1.添加元素
dictM["name"] = "why"
dictM["age"] = 18
dictM["heihgt"] = 1.88
dictM["weight"] = 75
print(dictM) //["name": "why", "age": 18, "weight": 75, "heihgt": 1.8799999999999999]
// 3.2.删除元素
dictM.removeValue(forKey: "name") //["age": 18, "weight": 75, "heihgt": 1.8799999999999999]
print(dictM)
// 3.3.修改元素
// 注意:如果有对应的key,则修改对应的value,如果没有对应的key,则添加对应的键值对
dictM["age"] = 30
print(dictM) //["age": 30, "weight": 75, "heihgt": 1.8799999999999999]
// 3.4.获取元素
print(dictM["weight"]!) //75
四. 字典的遍历
let dict = ["name":"flower", "age":20] as [String : Any]
//遍历所有的key
for key in dict.keys {
print(key) //
}
/**
name
age
*/
// 遍历所有的value
for value in dict.values {
print(value)
}
/**
flower
20
*/
// 遍历所有的key/value
for (key, value) in dict {
print(key)
print(value)
}
/**
name
flower
age
20
*/
五. 字典的合并
let tempDict = ["phoneNum" : "110"] as [String : Any]
//或者可写成:let tempDict1 : [String : Any] = ["phoneNum" : "110"]
for (key, value) in tempDict {
dictM[key] = value
}
print(dictM) //["phoneNum": "110", "age": 30, "weight": 75, "heihgt": 1.8799999999999999]
总结
- 在swift中无论是数组还是字典都是使用[],但是如果[]中存放的是元素,编译器会认为是一个数组.如果[]中存放的是键值对,编译器会认为是一个字典
- swift中任意对象,通常不使用NSObject,使用Any
网友评论