美文网首页
swift语法--07字典

swift语法--07字典

作者: 20b347b28fc9 | 来源:发表于2016-03-10 00:06 被阅读36次

    swift语法--07字典


    字典

    • 格式 var dict: Dictionary<String, String>
    • 注意: 将OC的{}换成了[]
    • 可变和不可变 var/let
    //var dict: Dictionary<String, String>
    //var dict: [String: String]
    var dict = ["name": "erer", "age": "18"]
    dict
    

    企业开发中字典使用得最多的类型就是 [String: NSObject]类型

    var dict2 = ["name": "erer", "age": 18, "score": 99.9]
    dict2
    
    取值
    dict2["name"]
    
    修改
    dict2["name"] = "sansan"
    dict2
    
    增加

    如果key存在就直接修改, 如果key不存在就会增加

    dict2["rank"] = 1
    dict2
    
    删除
    dict2.removeValueForKey("name")
    dict2
    
    遍历

    OC写法

    for key in dict2.keys
    {
        print(dict2[key])
    }
    

    Swift写法

    系统会自动将字典中的key赋值给元祖中的第一个遍历, 会自动将字典中的value赋值给元祖中的第二个遍历

    for (xx, oo) in dict2
    {
        print(xx)
        print(oo)
    }
    
    合并
    var dict3 = ["name": "erer", "age": 18]
    var dict4 = ["score": 99.9]
    
    注意点

    无论是数组还是字典, 只有相同类型才能赋值

    var dict3 = ["name": "erer"]
    var dict4 = ["score": 99.9]
    
    for (key, value) in dict4
    {
        dict3[key] = value //这里会出现错误
        //dict3 的类型是var dic: [String : String]
        //dict4 的类型是var dic: [String : Double]
        //dict3不能接受dict4的赋值
    
    }
    dict3
    
    var dict3 = ["name": "erer", "age": 18]
    var dict4 = ["score": 99.9]
    
    for (key, value) in dict4
    {
        dict3[key] = value
        //dict3 的类型是var dic: [String : NSObject]
    }
    dict3
    

    相关文章

      网友评论

          本文标题:swift语法--07字典

          本文链接:https://www.haomeiwen.com/subject/xwltlttx.html