• Swift


    字典是储存同一类型多个值的容器。每一个值都对应这一个唯一的键(Key),就像是字典内的每一个值都有一个标识符。和数组内的元素是有区别的,字典内的元素是没有特殊的序列的。当你需要根据标识符来查找批量的值时,就可以使用字典,和在真实世界的字典中寻找某个字的解释相似。

    Swift字典储存一个特定类型的键和值,与Objective-C的NSDictionary 和NSMutableDictionary不同,因为它们是使用各种的对象来作为它们的键和值,而且并不提供任何有关对象的具体信息。在Swift中,对于一个特定的字典,它所能储存的键和值的类型都是确定的,无论是明确声明的类型还是隐式推断的类型。

    Swift的字典写法是Dictionary<KeyType,ValueType>,KeyType是你想要储存的键的类型ValueType是你想要储存的值的类型

     唯一的限制就是KeyType必须是可哈希的(hashable)——就是提供一个形式让它们自身是独立识别的。Swift的所有基础类型(例如字符串(String),整形(Int),双精度(Double)和布尔(Bool))在默认是可哈希的(hashable),和这些类型都常常被当作字典的键。没有协助值(associated values)的枚举成员(具体描述在 Enumerations)默认也是可哈希的(hashable)。

    > 注意

    airport字典是被定义为一个变量(使用var 标识符)而不是常量(使用let 标识符),所以在下面的例子可以直接添加元素。

    var air :Dictionary <String,String> = ["name":"beijing","age":"12"]  这个是定义了键类型,和值类型都是string类型

    > 注意

    Swift中的字典类型是非序列化集合,序列化取回键,值,或者键值对的顺序是不明确的。

    1,字典  .count 是有多少个字典

    2,修改字典里面的value值和添加一根键值对

    //var air :Dictionary <String,String> = ["name":"beijing","age":"12","sex":"girl"]

    air["name"] = "liaolijun"  //如果是直接用字典里面的key值,这个就是直接修改这个key的value值

    //打印: [age: 12, sex: girl, name: liaolijun]

    air["nickname"] = "liaolijun" //这个key值没有在字典里面,这个就是直接添加一根键值对

    //打印: [age: 12, nickname: liaolijun, sex: girl, name: beijing]

    3,去设置或者更新一个特定键的值 字典名.updateValue("" ,forKey:"")

    if let oldvalue = air.updateValue("wujing", forKey: "name1"){

    //这个key值如果不存在字典,则是添加键值对

        println("old value is (oldvalue)") //如果是添加,那么这个判断不会打印

    }

    //打印: [name1: wujing, age: 12, nickname: liaolijun, sex: girl, name: beijing]

    if let oldvalue = air.updateValue("wujing", forKey: "name"){

    //这个key值如果存在字典,则是修改里面的value值,name这个key值是存在这个字典里面,所以这个是修改

        println("old value is (oldvalue)") //oldvalue这个是接收删除的value值  oldvalue=liaolijun

    }

    //打印: [name: wujing, age: 12, nickname: liaolijun, sex: girl]

     4,删除

    字典名 .removeValueForKey(key: Key(这个是你要删除的key值)

    if let remove = air.removeValueForKey("age"){

        println("remove is (remove)") //这个是删除的value值

    }

    //打印:[nickname: liaolijun, sex: girl, name: beijing]

     5,创建一个空字典

    var name = Dictionary<Int ,String>()  //这个int是key的类型,string是value的类型

    name[12] = "haha"

    //打印 :[12: haha]

  • 相关阅读:
    thinkphp6 模型中时间戳报错
    php获取真实的ip信息
    java 获取字符串长度
    thinkphp6 linux首次部署Access denied
    mysql5.7 分配子账户和解决进程错误
    springboot controller引用请求体和返回体方法
    微信公众号token 验证
    springboot常量定义
    python 抓接口 利用requests 增加 headers示例
    asp.net web api 如何设置允许后台跨域访问
  • 原文地址:https://www.cnblogs.com/liaolijun/p/4580915.html
Copyright © 2020-2023  润新知