Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组和字典中存储的数据值类型必须明确.这意味着我们不能把不正确的数据类型插入其中.Swift对显式类型集合的使用确保了我们的代码对工作所需要的类型非常清楚.也让我们在开发中可以早早的找到任何的类型不匹配错误.
如果你用变量(var)创建的集合,这些集合就是可变的(增删改).如果用常理创建的,这些集合是不能被操作的.
注意: 如果集合的元素是不变的,那就将集合声明为常量.这样Swift编译器能对你创建的集合做性能优化.
1. 数组(array)
Swift数组特定于它所存储元素的类型.这与OC的NSArray和NSMutableArray不同,这两个类可以存储任意类型的对象.但不提供所返回对象的任何特别信息.在Swift中,数据值在被存储进入某个数组之前类型必须明确.方法是通过显示的类型标注或类型推断,而不是必须是class类型.
1.1 数组的简单语法
写Swift数组应该遵循像Array<SomeType>这样的形式,其中SomeType是这个数组中唯一被允许存在的数据类型.我们也可以使用SomeTyoe[] 这样的简单语法.
var someArray = [String](arrayLiteral:"l","b",27)">"e")
1.2 数组构造语句
我们可以使用字面量来进行数组构造,这是一种用一个或者多个数值构造数组的简单方法.字面量是一系列由逗号分隔并由方括号包含的数值.[value1,value2,value3].
如果使用数组的first或者last方法访问数组的元素.打印出的结果是optional的,因为不确定该数组是否有值(即可能为nil).可以通过someArray.isEmpty 方法判断数组是否为空.
创建固定长度的数组.
改变数组中一系列的值.下面例子相当于把下标1到4的元素直接替换成了[5,7]
遍历数组
for
itemin someArray {
println("\(item)"
)
}
}
如果你需要每个item的index和值.用全局的enumrate函数来遍历数组.enumrate函数返回一个由index和value组成的元组(tuple).你可以把这个元组分解成临时变量或常量进行遍历.
for
(index,value)inenumerate(someArray) {
(index):\(value)")
}