Swift 基础笔记 - 字典

字典

  • 定义
    • 同样使用 [] 定义字典
    • let 不可变字典
    • var 可变字典
/*
    OC定义字典:
        NSDictionary *dict = @{key1: value1, key2: value2, ...};
    swift定义字典:
        var 数组名 = [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)
}
//: 开发中用的最多的遍历字典的方式
//: k, v 可以随便写,前面是 key,后面是 value
for (k, v) in dict1 {
  print(k + "--- \(v)")
}
//: 跳过不关心的值
for (_, v) in dict1 {
  print("对key不关心--- \(v)")
}
  • 字典常用操作

    • 赋值直接使用dict[key] = value格式
    • 如果key不存在,会设置新值
    • 如果key存在,会覆盖现有值
 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"

你可能感兴趣的:(Swift 基础笔记 - 字典)