美文网首页
Swift中的字典

Swift中的字典

作者: 下班不写程序 | 来源:发表于2019-10-08 10:28 被阅读0次
    1. 使用 let 定义 不可变字典.
      2.使用 var 定义 可变字典.
      3.字典也是使用 [] 来表示.

    1. 字典的定义、取值、赋值、移除

        func demo(){
            
            // 1. 定义一个OC 中的字典, key/value 都是字符串
            let dict = ["name": "老张", "age": "18"]
            print(dict)  // 结果: ["name": "老张", "age": "18"]
            
            // 2. 初始化一个 不可变的 指定类型的空字典
            let dict4 = [String: String]()
            let dict5: [String: String] = [:]
            let dict6: Dictionary<String, String> = [:]
            let dict7 = Dictionary<String, String>()
            
            // 3. 定义一个指定类型的字典, key/value 都是字符串
            let dict2: [String: String] = ["name": "老张", "age": "18"]
            print(dict2)  // 结果: ["name": "老张", "age": "18"]
            
            // 4. 定义一个指定类型的字典, 名字是String, 年龄是Int, 这种方式也是最常用的字典类型
            let dict3: [String: Any] = ["name": "老张", "age": 18]
            print(dict3)  // 结果: ["name": "老张", "age": 18]
            
            // 5. 通过key 获取value
            let name = dict3["name"]
            print(name)  // 结果:Optional("老张")
            
            // 6. 定义一个可变的空字典, 参考第二知识点内容:
            var dictM: [String: Any] = [String: Any]()
            
            // 7. 通过key移除value, 或者直接将对应key的value直接置位nil
            var dictM2: [String: Any] = ["name": "老张", "age": 18]
            dictM2.removeValue(forKey: "name")
            print(dictM2)   // 结果:["age": 18]
            // 或者
    //        dictM2["name"] = nil
    //        print(dictM2)   // 结果:["age": 18]
            
            /* 注意:
             通过 key 赋值 value, 如果 key存在与字典中, 直接对 value重新赋值; 若 key不存在与字典中, 直接添加一对新的键值对.  (五星重点!!!!!)
             */
        }
    

    2. 字典的遍历(无序)

        func demo(){
        
            let dict: [String: Any] = ["name": "老张", "age": 18]
            // for -in 遍历
            for (k, v) in dict {
                print(k,v)
            }
            /*
             结果:
             name 老张
             age 18
             
             注意: 循环中的()里, 不管起什么名称, 第一位永远是key, 第二个永远是value
             */
        }
    

    3. 字典的合并

        func demo(){
        
            let dict1 = ["name": "Tom"]
            var dict2: [String: Any] = ["sex": "man", "age": 18]
            
            // 合并的奥义: 就是遍历少元素个数字典, 添加到另一个字典里
            for (k, v) in dict1 {
                dict2[k] = v
            }
            print(dict2)
            // 结果:["name": "Tom", "sex": "man", "age": 18]
            // 分析:通过 key 赋值 value, 如果 key存在与字典中, 直接对 value重新赋值; 若 key不存在与字典中, 直接添加一对新的键值对.
        }
    

    相关文章

      网友评论

          本文标题:Swift中的字典

          本文链接:https://www.haomeiwen.com/subject/giziuctx.html