Swift字典的使用
2016-08-17 本文已影响4565人
梦醒繁华
字典的介绍
- 字典允许按照某个键来访问元素
- 字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合
- 键集合是不能有重复元素的,而值集合是可以重复的,键和值是成对出现的
- Swift的zidian
- Swift字典类型的Dictionnary,也是一个泛型集合
字典的初始化
- Swift中的可变和不可变字典
- 使用let修饰的字典是不可变字典
- 使用var修饰的数组组是可变字典
//定义一个可变字典
var dict1 : [String : NSObject] = [String : NSObject]()
//定义一个不可变字典
let dict2 = ["name" : "why", "age" : 18]
- 在声明一个Dictionary类型可以使用下面的语句之一
//1>定义不可变字典:使用let修饰
let dict = ["name":"wang","age":"18"]
//2>定义可变数组:使用var修饰
//var dictM = Dictionary<String, NSObject>()
//AnyObject:一般指定类型NSObject:一般用于创建对象
var dictM = [String : AnyObject]()
- 对可变字典的基本操作
//2.1添加元素
dictM["name"] = "why"
dictM
dictM["age"] = 18
dictM["height"] = 1.88
dictM["weight"] = 70
//2.2删除元素
dictM.removeValueForKey("weight")
dictM
//2.3修改元素
//区别:如果字典中已经有了对应的key,那么会直接修改原来key中保存的value
//如果字典中没有对应的key,那么添加对应的key/value
dictM["name"] = "yz"
dictM
//2.4获取某一个元素
dictM["age"]
- 遍历字典
//3.1遍历字典中所有的key
for key in dictM.keys {
print(key)
}
//3.2遍历字典中所有的value
for value in dictM.values {
print(value)
}
//3.3遍历字典中的所有的键值对
var dic1 = ["name":"wang", "age":"24"]
for (key, value) in dic1 {
print(key)
print(value)
}
- 合并字典
//即使类型一致也不能相加合并
let dic2 = ["height":"1.88", "phoneNum":"+86 110"]
//let resultDict = dic1 + dic2错误写法
for (key, value) in dic2 {
dic1[key] = value
}