Swift第二课 数组与字典
来源:互联网 发布:从来不想谈恋爱 知乎 编辑:程序博客网 时间:2024/06/03 09:19
数组把相同类型的值存放在一个有序链表里。字典把相同类型的值存放在一个无序集合里,这些值可以通过唯一标识符(也就是键)来引用和查找。
在Swift里,数组和字典里所能存放的值的类型是明确的。这意味着你不能误把一个错误类型的值添加到数组或字典里,也意味着你可以明白无误地知道从数组或字典里取得的值会是什么类型的。Swift集合是类型明确的,这保证了你的代码会清楚地知道它们所能处理的值的类型,并让你能在代码开发阶段就发现任何输入错误。
数组(Array)
字典(Dictionary)
使用[] 来创建字典,并使用key 来获取key所对应的value,也可以使用for循环获取。 key 与 valuevar dic = ["key1":"value1", "key2":"vlaue2"]
var value = dic["key1"] // 获取key1 所对应的值
dic["key3"] = "value3"// 给字典中,添加一个,key和vaule。
声明一个空字典: var emptyDictionary =Dictionary<String,Float>() //创建一个Key 是String 类型,Value为Float类型的空字典。
更多关于字典的方法,请查看字典API
数组唯一性:
var a = [1,2,3]
var b = a
var c = b
当改变,a数组中一个值的时候,比如:a[0] = 12 数组长度没有变化,数组就不会发生拷贝,那么 a[0],b[0] c[0] 的值都是相同的一个。
当给数组a添加一个元素,改变数组长度时,Swift会创建这个数组的拷贝,那么a将是原数组的一个独立拷贝。如果在修改a的值的时候,a将会返回与,b,c 不一样的结果。
在操作一个数组,或将其传递给函数以及方法调用之前是很有必要先确定这个数组是有一个唯一拷贝的。通过在数组变量上调用unshare方法来确定数组引用的唯一性。(当数组赋
给常量时,不能调用unshare方法)
如果一个数组被多个变量引用,在其中的一个变量上调用unshare方法,则会拷贝此数组,此时这个变量将会有属于它自己的独立数组拷贝。当数组仅被一个变量引用时,则不
会有拷贝发生。
在上一个示例的最后,b和c都引用了同一个数组。此时在b上调用unshare方法则会将
b变成一个唯一个拷贝:
1.b.unsha re()
在unshare方法调用后再修改b中第一个元素的值,这三个数组(a,b,c)会返回不同的三个值:。
比较2个数组是否共用相同的数组元素可以使用很等于运算符(===) 或者 (!==)
如果仅需要确保你对数组的引用是唯一引用,请调用unshare方法,而不是copy方法。unshare方法仅会在确有必要时才会创建数组拷贝。copy方法会在任何时候都创建一个新的拷贝,即使引用已经是唯一引用。
- Swift第二课 数组与字典
- swift数组与字典
- swift -入门与 数组 字典
- swift学习笔记之数组与字典
- Swift 数组、字符串、集合与字典详解
- Swift语法精炼(3)-数组与字典
- swift,数组和字典
- Swift 数组和字典
- Swift 数组和字典
- Swift 数组,字典
- swift 字典和数组
- swift 数组 字典
- Swift--06数组字典
- 初识Swift(二)-数组与数据字典
- Swift编程基础(三):数组与字典
- Swift学习笔记之基本数据类型-数组与字典
- Swift 算法实战之路:数组,字符串,集合,与字典
- swift基础4-数组、字典
- eclipse插件
- C++Primer第五版 9.1节练习
- HDU 5434 Peace small elephant
- JAVA一个超级简单的计算器
- input 文本框控制文本输入长度
- Swift第二课 数组与字典
- 各种编程语言的深度学习库收集整理
- 基于OpenSSL自建CA和颁发SSL证书
- 无法注册Parallels Desktop
- Undefined symbols for architecture i386
- Linux下部署web项目
- SQL Server根据输入信息自能筛选需要的信息
- C++Primer第五版 9.2.1节练习
- FFMPEG 抓RTSP流,推送RTMP至FMS服务器