swift-字典

2018-11-14  本文已影响0人  叩首问路梦码为生

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }
    //定义
    func demo1()  {
        //定义字典
        let dict = ["name":"张","age":"12"]
        print(dict)
        
        //定义字典数组  这种形式在开发中使用很多
        let array: [[String: AnyObject]] = [
            ["name":"张" as AnyObject,"age":"12" as AnyObject],
            ["name":"张" as AnyObject,"age":"12" as AnyObject]
        ]
        print(array)
    
    }
    //遍历
    func demo2()  {
        func demo() {
            var dict = ["name":"张","age":"12"]
            //遍历方式一
            for e in dict{
                //e: (key: String, value: String)  这是一个元组
                print("\(e.key)\(e.value)")
            }
            
            //遍历方式二
            //前面是key  后面是value   具体名字可随意更改
            for (k,v) in dict{
                print("\(k)\(v)")
            }
        }
        
      
    }
    
    //增删改
    func demo3()  {
        var dict = ["name":"张","age":"12"]
        //如果key存在就是修改,不存在就是增加
        //增
        dict["sex"] = "男"
        //改
        dict["name"] = "李"
        //删,直接给定key即可
        // 科普:字典是通过KEY来定位的,KEY必须是可以 ’hash 哈希‘的  MD5一样
        // hash就是讲字符串变成唯一的数字,便于查找,提高效率
        dict.removeValue(forKey: "age")
        print(dict)
        dict.removeAll()
    }
    
    // 合并
    func demo4()  {
        func demo() {
            var dict1 = ["name":"张","age":"12"]
            let dict2 = ["name":"李","age":"23"]
            //提示:字典不能像数组那样直接用+
            //思路:遍历dict2 依次设置
            for e in dict2{
                //如果key不存在,直接增加。存在的话就会更改。
                dict1[e.key] = dict2[e.key]
            }
            print(dict2)
        }
        
    }
    
    


}


上一篇下一篇

猜你喜欢

热点阅读