swift-12字典

我以前做的swift筆記, 之前都是整理在onenote上, 最近想到整理出博客. 也方便自己查找, 可以當做自己的一份文檔.

字典的定義 賦值

    func demo() {
        //oc定義字典使用 {}
        //swift中使用 []
        
        // [KEY: VALUE] -> [String: NSObject]
        let dict = ["name": "老張", "age": 15] as [String : Any]
        print(dict)
        
        //定義字典的數(shù)組  這種格式在 開發(fā)中使用的最多
        /**
            1 定義的最高節(jié)點是數(shù)組/字典
            2所有對象必須是 NSString NSNumber NSArray NSDictonary NSNull
            3所有的KEY 都是 NSStrings
            4NSNumber 不能為 nil 或則無窮大
         */
        
        let array = [
            ["name": "李", "age": 15],
            ["name": "王", "age": 14]
        ]
        print(array)
    }

字典的增刪改

    func demo1() {
        // 可變 var 不可變 let
        var dict = ["name": "張", "age": 18] as [String: Any]
        
        //新增 如果KEY 不存在 就是新增
        dict["title"] = "大哥"
        print(dict)
        
        //修改 字典中 是通過KEY 取值 KEY 在字典中必須是唯一的
        //如果key存在 就是修改
        dict["name"] = "西瓜西瓜"
        
        //刪除 直接給定 KEY
        // 科普 字典是通過 KEY 來定位值的 必須是可以 "hash" 哈希 MD5
        // hash 就是將字符串變成唯一的 '整數(shù)' 便于查找 提高字典遍歷的速度
        dict.removeValue(forKey: "age")
        print(dict)
    }

字典的遍歷

    func demo2() {
        let dict = ["name": "張", "age": 18, "title": "老師"] as [String: Any]
        
        //元祖 (key: String, value: NSObject)
        for e in dict {
            print("\(e.key) \(e.value)")
        }
        
        /**
            前面的 是 KEY 
            后面的 是VALUE
            具體的名字可以隨便
         
            oc遍歷 for in 只能獲取到KEY
         */
        for (saf, abc) in dict {
            print("\(saf) \(abc)")
        }
    }

字典的合并

    func demo3() {
        var dict1 = ["name": "張", "age": 18, "title": "老師"] as [String: Any]
        let dict2 = ["name": "大瓜", "height": 1.9] as [String: Any]
        
        // 將 dict2 合并到 dict1
        // 提示 字典不能直接相加
        // 數(shù)組 可以直接相加
        // dict1 = dict1 + dict2
        
        // 思路 遍歷dict2 一次設(shè)置
        // 如果KEY存在 會修改
        // 如果KEY 不存在 會新增
        for e in dict2 {
            dict1[e.key] = dict2[e.key]
        }
        print(dict1)
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容