Swift语言中的数组和字典中存储数据类型必须明确。
数组
数组存储相同类型的数据,相同的值可以多次出现在一个数组的不同的位置。
不同于oc中的数组,Swift对存入数组中的数据是有要求的。在Swift中,数据值在被存进某个数组之前类型必须是明确的。
数组的简单语法
数组的形式:
1、Array<SomeType>
2、SomeType[]
3、var list:String[] = ["",""]
4、var list = ["",""]
var 声明的变量是可变的
let 声明的·
访问和修改数组
求元素个数count
isEmpty检测数组是否为空
append在数组后面添加新的元素
数组+=元素//在数组后面添加元素
数组A+=数组B//把数组B的内容添加到数组A中
通过多个下标改变一系列的元素值,即使数量不匹配
eg:list[0...5] = ["",""]
不能使用索引来添加值,会导致数组越界
insert(,atIndex:)插入元素
eg:list.insert("",atIndex:0)
removeAtIndex:移除数组中某一项的值,并返回删除项的值
removeLast删
除数组的最后一项,也会返回被删除的项
数组的遍历
for item in list{}
for (index.value) in enumerate(list){}//获取索引和值,index,和value可以单独使用
创建并且构造一个数组
var arr = Int[]()//构造语法
var testList = 数组1 + 数组2
字典
字典存储相同类型的多重数据。在某个特定字典中可以存储的键值类型必须提前定义清楚
字典使用Dictionary<keyType,valueType>
keyType是可哈希的。
字典字面量语句
var dic = ["key1":"value1"]
var dic:Dictionary<String,String> = ["",""]
在使用字典之前必须将类型定义清楚
1、count获取 字典的数据项数
2、dic["LHR"] = "London"//使用下标语法添加元素
3、dic["LHR"] = "London Healthrow"//下标修改值
4、updateValue(forKey:)键不存在时,设置,键存在时更新。这个方法返回更新后的原值。
updateValue(forKey:)函数会返回包含一个字典值类型的可选值。如果值存在,则这个可选值等于被替换的值,否则返回nil
5、dic["apl"] = nil移除某键值对
6、removeValueForKey从字典中移除键值对。键值对存在的情况下,返回被移除的value,不存在的情况下返回nil
字典的遍历
for (key,value)in dic{}
dic.keys//获取所有的key
dic.value获取所有的value
创建一个空字典
var emptyDic = Dictionary<Int,String>()
如果通过上下文能推断出字典的类型那么可以在用[:]来创建一个空字典
emptyDic
= [:]
集合的可变性
let 修饰
对于字典:不可变意味着不能替换其中任何现有键对应的值,内容首次设定之后不能被修改。
数组:不能改变不可变数组的大小,但是我们可以重新去设定相对现存索引所对应的值。