美文网首页
08.Swift 字典

08.Swift 字典

作者: Liwx | 来源:发表于2016-02-01 18:04 被阅读189次

    @(〓〓 iOS-Swift语法)[Swift 语法]


    目录

    • 8.字典
      • 字典的介绍
      • 字典的初始化
      • 字典的基本操作
      • 字典的遍历
      • 字典的合并

    字典的介绍

    • 字典允许按照某个键(key)来访问元素
    • 字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合.
    • 键(key)集合是不能有重复元素的,而值集合是可以重复的,键和值是成对出现的
    • Swift中的字典
      • Swift字典类型是Dictionary,也是一个泛型集合.

    字典的初始化

    • Swift中的可变和不可变字典
      • 使用let修饰的数组是不可变字典
      • 使用var修饰的数组是可变字典
    // ----------------------------------------------------------------------------
    // 1.字典的定义
    
    // 1.1 不可变字典: 使用let修饰
    // 如果[]存放的是元素,表示是数组
    // 如果[]存放的是键值对,表示字典
    let dict = ["name" : "liwx", "age" : 18, "height" : 1.88]
    
    // 1.2 可变字典: 使用var修饰,存放的是键值对
    var dictM = [String : AnyObject]()
    
    • 在声明一个Dictionary类型的时候可以使用下面的语句之一
    // ???有疑问
    var dict1: Dictionary<Int, String>
    var dict2: [Int: String]
    
    • 声明的字典需要进行初始化才能使用,字典类型往往是在声明的同时进行初始化的.
    // 定时字典的同时,进行初始化
    var dict = ["name" : "liwx", "age" : 18, "height" : 1.88]
    
    // swift中任意对象,通常不使用NSObject,使用AnyObject
    var dict : Dictionary<String, AnyObject>
    dict = ["name" : "liwx", "age" : 18, "height" : 1.88]
    

    字典的基本操作

    • 字典的增删改查
    // ----------------------------------------------------------------------------
    // 2. 可变字典的基本操作
    
    // 2.1 添加元素
    // dict["weight"] = 70  // 错误写法: dict是不可变字典
    dictM["weight"] = 70
    dictM["name"] = "lll"   // 如果key已经存在,则修改key对应的value
    dictM["age"] = 19
    
    // 2.2 移除元素
    dictM.removeValueForKey("age")
    
    
    // 2.3 修改元素
    // 注意:在修改字典中元素时,如果有找到对应的key,修改对应的value,如果没有找到的key,则添加对应的键值对
    dictM["weight"] = 60
    dictM["height"] = 1.89
    dictM
    
    // 2.4 使用key查询value
    let height = dictM["height"]
    

    字典的遍历

    • 字典的遍历
    // ----------------------------------------------------------------------------
    // 3.遍历字典
    
    // 3.1 遍历字典中所有的key
    for key in dictM.keys {
        print(key)
    }
    
    // 3.2 遍历字典中所有的value
    for value in dictM.values {
        print(value)
    }
    
    // 3.3 遍历字典中所有的键值对 key/value
    for (key,value) in dictM {
        print(key, value)
    }
    

    字典的合并

    • 字典的合并
      • 注意: 相同类型的字典也是不可以使用+号合并
    
    // ----------------------------------------------------------------------------
    // 4.合并字典
    // 注意: 相同类型的字典也是不可以相加合并
    var dict1 = ["name" : "liwx", "age" : 18]
    let dict2 = ["weight" : 70, "phoneNum" : "+86 110"]
    // let resultDict dict1 + dict2 错误写法,字典不能用+号合并
    
    for (key, value) in dict2 {
        dict1[key] = value
    }
    

    相关文章

      网友评论

          本文标题:08.Swift 字典

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