字典
- 定義
- 同樣使用 [] 定義字典
- let 不可變字典
- var 可變字典
/*
OC定義字典:
NSDictionary *dict = @{key1: value1, key2: value2, ...};
swift定義字典:
var 數(shù)組名 = [key1: value1, key2: value2, ...]
let 不可變
var 可變
*/
//: 定義字典
var dict1 = ["name": "liudehua", "age": 54] //[String : NSObject]
var dict2 = ["name": "liudehua", "nickName": "huazai"] //: [String : String]
- 定義空字典
var dict4 = [NSString: Int]()
var dict5: [NSString: Int] = [:]
字典的遍歷
//: 遍歷字典的所有key
for n in dict1.keys {
print(n)
// print(dict1[n])
}
//: 遍歷字典所有value
for k in dict1.values {
print("k === \(k)")
}
//: 遍歷字典
for n in dict6 {
// print(n)
// print(n.0)
// print(n.1)
}
//: 開發(fā)中用的最多的遍歷字典的方式
//: k, v 可以隨便寫,前面是 key妒蔚,后面是 value
for (k, v) in dict1 {
print(k + "--- \(v)")
}
//: 跳過不關心的值
for (_, v) in dict1 {
print("對key不關心--- \(v)")
}
-
字典常用操作
- 賦值直接使用
dict[key] = value
格式 - 如果
key
不存在,會設置新值 - 如果
key
存在蜂奸,會覆蓋現(xiàn)有值
- 賦值直接使用
var dict7 = ["name": "zhangsan", "age": 12]
//: 訪問字典中的元素
dict7["name"]
//: 當字典的key存在時,修改字典中的元素
dict7["age"] = 15
dict7
//: 當字典的key不存在時,會新增key和value
dict7["title"] = "king"
dict7
//: 刪除字典中指定的key和對應的value
var dict8 = ["name": "zhangsan", "age": 13, "height": 1.74]
dict8.removeValueForKey("age")
dict8
//: let修飾的字典不能改變 cannot assign through subscript: 'dict9' is a 'let' constant
let dict9 = ["name": "zhangsan", "age": 15, "height": 1.74]
//dict9["name"] = "lisi"