字典的使用

1. 字典的定义

func demo7(){
        /**
         OC 中定义字典使用{ }
          Swift 中仍然使用 [],是通过值对
         */
        let dict = ["name":"xiaohua","age":18] as [String : Any]
        print(dict)
        
        //[String : Any ] 使用最多
        //在网络上获取的 JSON 有一个要求,KEY 必须是 NSString
        /**
         An object that may be converted to JSON must have the following properties:
          - Top level object is an NSArray or NSDictionary
            顶级节点必须是字典或者数组
          - All objects are NSString, NSNumber, NSArray, NSDictionary, or NSNull
            所有的对象必须是 NSString,NSNumber,NSArray,NSDictionary, or NSNull
            如果是 数组 或者字典, 内部同样只能包含 String,Number,NSNull
          - All dictionary keys are NSStrings
            所有的 key 必须都是 NSString
          - NSNumbers are not NaN or infinity
            NSNumber 不能为空或者无穷大
         在 JSON 中字符串有引号, Number 没有引号, 空值 null
         */
    }

2. 可变与不可变

 func demo8(){
        /**
           let 是不可变
           var是可变
         */
        var dict = ["name":"xiaohua","age":18] as [NSString : Any]
        //如果 key 存在,值覆盖
        dict["name"] = "xiaogang"
        //如果 key 不存在,新增
        dict["title"] = "nihao"
        print(dict)
        
        //遍历
        /**
           k, v 是随便写
           前面的是 key
          后面的是 value
         */
        for(key,value) in dict{
            print("Key: \(key) -- Value: \(value)")
        }
    }

3. 字典的合并

 func demo9(){
        var dict = ["name":"xiaohua","age": 18] as [NSString : Any]
        let dict2 = ["title":"nihao", "name":"huahua"] as [NSString: Any]
        //将 dict2 的内容合并到 dict 中
        for (k,v) in dict2{
            dict[k] = v
        }
        //合并字典的时候,和设置一样内容一样 如果有key,覆盖, 否则新增
        print(dict)
        
    }

*分段注释关键字: //MARK: - xxx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hanyang Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值