• Swift-字典


    1、字典的定义

     //OC 定义字典使用{}

            //Swift 中使用[]

            //[KEY:VALUE]->[String:NSObject]

            let dict = ["name":"张","age":10]

            print(dict)

            

            //定义字典的数组 - 提示,这种格式在开发中使用最多

            /**

            An object that may be converted to JSON must have the following properties:

            所有对象能被转换成 JSON(字典或者数组) 必须遵循以下规则

            

            - Top level object is an NSArray or NSDictionary

            - 定义节点时数组/字典

            

            - All objects are NSString, NSNumber, NSArray, NSDictionary, or NSNull

            - 所有对象必须是NSString ,NSNumber,NSArray, NSDictionary, or NSNull

            -  NSArray, NSDictionary可以被嵌套使用

            

            - All dictionary keys are NSStrings

                所有的key都是NSStrings

            - NSNumbers are not NaN or infinity

             - NSNumbers不为空或者无穷大

            

            */

            let array:  [[String:NSObject]] = [

                ["name":"张","age":10],

                ["name":"li","age":100],

                   ]

    2、增删改

    //可变var 不可变let

             var dict = ["name":"张","age":10]

            

            //新增 - 如果key不存在就是新增

            dict["title"] = "打个"

            //修改 - 如果key存在就是修改

            dict["name"] = "大西瓜"

        

            print(dict)

            

            //删除 - 直接给定KEY

            //***字典是通过KEY 来定位值的,KEY 必须是可以’hash‘哈希的 MD5一样

            //hsah 就是将字符串变成唯一的‘整数’,便于查找,提高字典遍历的速度

            dict.removeValueForKey("age")

            print(dict)

    3、遍历

     let dict = ["name":"张","age":10,"titile":"老板"]

           //元组 [String : NSObject]

            for e in dict {

                print("(e.0)(e.1)")

            }

            for (key, value)in dict{

                

                print("(key)(value)")

            }

    4、合并

     var dict = ["name":"张","age":10,"titile":"老板"]

            let dict1 = ["name":"大褂","age":100]

            //合并

            //字典不能直接相加

            //思路:遍历dict1 一次设置

            for e in dict1 {

                dict[e.0] = dict1[e.0]

            }

  • 相关阅读:
    如何解决快应用堆栈溢出问题
    华为携手Work Shift Calendar (Shifter),将工作效率提升至更高水平
    教你如何实现长按图片保存到相册
    【DTM】HUAWEI Ads与DTM网页转化追踪(二)
    map组件如何展示marker的callout气泡
    【DTM】HUAWEI Ads与DTM网页转化追踪(一)
    “碰一碰”版本的蓝牙键盘,来啦!
    ES-密码设置及JAVA应用
    ES--集群搭建及原理
    ES--ELK搭建(ElasticSearch、Logstash、Kibana)
  • 原文地址:https://www.cnblogs.com/jiang-xiao-yan/p/6385243.html
Copyright © 2020-2023  润新知