Swift - Dictionary 基本使用

本文详细介绍了在Swift中如何创建不同类型的Dictionary,并演示了增删查改等基本操作,包括如何遍历Dictionary、获取所有键值集合及替换特定键值等。

Dictionary 终于正常一点了,蛋疼的Swift 

        /*
         * 创建一个不指定类型的的 NSMutableDictionary(Dictionary与NSDictionary相互转化)
         */
        var dayDic = [:]asNSMutableDictionary
        /*
         * 字面量方法创建一个 Dictionary
         */
        var LJInfo1: [String:NSObject] = ["name":"LJ","birthday":"1015"]
        /**
         *  创建一个空 Dictionary
         */
        var LJInfo2 = [String:NSObject]()
        
        LJInfo2["age"] = "18"                                   // 给 Dictionary添加新的键值对
        LJInfo1["address"] = "ShangHai"
        
        debugPrint("LJInfo1->address:\(LJInfo1)")
        debugPrint("LJInfo2->age:\(LJInfo2)")

        let existence = LJInfo1["age"]                         //判断 Dictionary中是否存在键值key: "age" 不存在的话,返回nil
        debugPrint("existence:\(existence)")
        
        LJInfo1.removeValueForKey("birthday")                  //删除 Dictionary中的键值为  birthday 的键值对
        LJInfo1["name"] = nil                                   // 删除 Dictionary中键值对的第二种方式
        debugPrint("LJInfo1->removeKey:\(LJInfo1)")
        
        // 创建一个 Dictionary
        var LJInfo3 : [String:NSObject] = ["keyA":123,"KeyB":"B","KeyC":6,"keyD":"D","keyE":"E"];
        
        for (key, value) in LJInfo3 {                           // 遍历 Dictionary
            debugPrint("key:\(key),value:\(value)")
        }
        
        let keys = LJInfo3.keys                                //取出 Dictionary中所有key的集合
        let values = LJInfo3.values                            //取出 Dictionary中所有value的集合
        debugPrint("keys:\(keys)")
        debugPrint("values:\(values)")

        var keyArray: [String] = []
        let keyD = "keyD"
        for key in LJInfo3.keys {                              //遍历 Dictionary中的key
            if keyD == key {                                   //判断 Dictionary中是否存在 key与 keyD相等
                debugPrint("LJInfo3中含有KeyD")
            }else{
                keyArray.append(key)
            }
        }
        debugPrint("keyArray:\(keyArray)")

        var vauleArray: [NSObject] = []
        for value in LJInfo3.values {                          //遍历 Dictionary中的vaule
            vauleArray.append(value)
        }
        debugPrint("vauleArray:\(vauleArray)")
        
        var copyLJInfo = LJInfo1                               //使用 Dictionary生成一个新的 Dictionary
        
        copyLJInfo.removeAll(keepCapacity: true)                // 删除所有键值对,清空 Dictionary
        debugPrint("copyLJInfo:\(copyLJInfo)")
        
        LJInfo3["KeyB"] = "this is B"                           // 替换 Dictionary中的键值 value
        debugPrint("Replace the key values in the LJInfo3:\(LJInfo3)")



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值