@(〓〓 iOS-Swift语法)[Swift 语法]
- 作者: Liwx
- 邮箱: 1032282633@qq.com
目录
- 8.字典
- 字典的介绍
- 字典的初始化
- 字典的基本操作
- 字典的遍历
- 字典的合并
字典的介绍
- 字典允许按照某个键(key)来访问元素
-
字典是由两部分集合
构成的,一个是键(key)集合
,一个是值(value)集合
. -
键(key)集合是不能有重复元素的
,而值集合是可以重复的,键和值是成对出现的 - Swift中的字典
-
Swift字典类型是Dictionary
,也是一个泛型集合
.
-
字典的初始化
- Swift中的可变和不可变字典
- 使用let修饰的数组是不可变字典
- 使用var修饰的数组是可变字典
// ----------------------------------------------------------------------------
// 1.字典的定义
// 1.1 不可变字典: 使用let修饰
// 如果[]存放的是元素,表示是数组
// 如果[]存放的是键值对,表示字典
let dict = ["name" : "liwx", "age" : 18, "height" : 1.88]
// 1.2 可变字典: 使用var修饰,存放的是键值对
var dictM = [String : AnyObject]()
- 在声明一个Dictionary类型的时候可以使用下面的语句之一
// ???有疑问
var dict1: Dictionary<Int, String>
var dict2: [Int: String]
- 声明的
字典需要进行初始化才能使用
,字典类型往往是在声明的同时进行初始化
的.
// 定时字典的同时,进行初始化
var dict = ["name" : "liwx", "age" : 18, "height" : 1.88]
// swift中任意对象,通常不使用NSObject,使用AnyObject
var dict : Dictionary<String, AnyObject>
dict = ["name" : "liwx", "age" : 18, "height" : 1.88]
字典的基本操作
- 字典的增删改查
// ----------------------------------------------------------------------------
// 2. 可变字典的基本操作
// 2.1 添加元素
// dict["weight"] = 70 // 错误写法: dict是不可变字典
dictM["weight"] = 70
dictM["name"] = "lll" // 如果key已经存在,则修改key对应的value
dictM["age"] = 19
// 2.2 移除元素
dictM.removeValueForKey("age")
// 2.3 修改元素
// 注意:在修改字典中元素时,如果有找到对应的key,修改对应的value,如果没有找到的key,则添加对应的键值对
dictM["weight"] = 60
dictM["height"] = 1.89
dictM
// 2.4 使用key查询value
let height = dictM["height"]
字典的遍历
- 字典的遍历
// ----------------------------------------------------------------------------
// 3.遍历字典
// 3.1 遍历字典中所有的key
for key in dictM.keys {
print(key)
}
// 3.2 遍历字典中所有的value
for value in dictM.values {
print(value)
}
// 3.3 遍历字典中所有的键值对 key/value
for (key,value) in dictM {
print(key, value)
}
字典的合并
- 字典的合并
- 注意: 相同类型的字典也是
不可以使用+号合并
- 注意: 相同类型的字典也是
// ----------------------------------------------------------------------------
// 4.合并字典
// 注意: 相同类型的字典也是不可以相加合并
var dict1 = ["name" : "liwx", "age" : 18]
let dict2 = ["weight" : 70, "phoneNum" : "+86 110"]
// let resultDict dict1 + dict2 错误写法,字典不能用+号合并
for (key, value) in dict2 {
dict1[key] = value
}
网友评论