Swift4.0 學習筆記 第九節:字典

//
//  ViewController.swift
//  012-字典
//
//  Created by 莊壯勇 on 2018/1/4.
//  Copyright © 2018年 Personal. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        demo4()
    }

    // 4.合併
    func demo4() {
        var dict1:[String: Any] = ["name": "張","age": 18,"title": "老闆"]
        let dict2:[String: AnyObject] = ["name": "大瓜" as AnyObject,"height": 1.9 as AnyObject]

        // 將dict2合併到dict1
        // 提示: 字典不能直接相加
       
        // 思路, 遍歷dict2 依次設置
        // 如果 key 存在, 會修改
        // 如果 key 不存在,會新增!
        for e in dict2 {
            dict1[e.key] = dict2[e.key]
        }
        print(dict1)
       
    }
    // 3.遍歷
    func demo3() {
        let dict:[String: Any] = ["name": "張","age": 18,"title": "老闆"]

        // 元組 (key: String, value: Any)
        for e in dict {
            print("\(e.key) \(e.value)")
        }
        print("-------")

        /**
             前面的 是 KEY
             後面的 是 VALUE
        
             具體的名字可以隨便
        
             OC 遍歷 for in 只能獲取到只能獲取到KEY
         */
        for (key, value) in dict {
            print("\(key) \(value)")
        }
       
    }
    // 2.增刪改
    func demo2() {
        // 可變 var / 不可變 let
        var dict:[String: Any] = ["name": "張","age": 18]
       
        // 新增 - 如果 KEY 不存在,就是新增
        dict["title"] = "大哥"
        print(dict)
       
        // 修改 - 字典中, 是通過 KEY 取值,KEY在字典中必須是唯一的
        // 如果 KEY 存在,就是修改
        dict["name"] = "大西瓜"
        print(dict)
       
        // 刪除 - 直接指定 KEY
        // *** 科普,字典是通過 KEY 來定位值的,KEY 必須是可以 ‘hash’ 哈希 ‘MD5 一種
        // hash 就是講字符串變成唯一的'整數',便於查找,提高字典遍歷的速度
        dict.removeValue(forKey: "age")
        print(dict)
       
       
    }
    // 1.定義
    func demo1() {
       
        // OC 定義字典使用{}
        // Swift 中同樣使用[]
       
        // [KEY: VALUE] -> [String: NSObject]
        let dict = ["name":"張","age":18] as [String : Any]
        print(dict)
       
        // 定義字典的數組 - 提示,這種格式在開發中使用的最多
        let array:[[String: Any]] = [["name":"張","age": 18 ],["name":"李" ,"age": 108 ]]
        print(array)
       
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章