在Objective-C中数组是常用的数据类型,在Swift中同样如此,在OC中有NSArray与NSMutableArray之分,但是在Swift中只有通过let和var来区分数组是否可变,Swift中的数组是类型安全的,所以在某个数据被存入到某个数组之前类型必须明确,假如我们创建了一个String类型的数组,那么该数组中就不能添加非String的数据类型,这是Swift与OC的一个很重要的区别。
var array = [2,3,4,5]
var array1:Array = [2,3,4,5]
var array2:Array<Int> = [2,3,4,5]
var array3:[Int] = [2,3,4,5]
var array4 = Array<Int>()
var array5:[String] = ["wew"]
数组的数量:数组有一个只读属性 count来获取数组中的数据项数量。
array.count
检查数组是否为空可以用isEmpty来检查count是否为0
if array.isEmpty{
}
当要在数组后面添加新的数据项时可以使用append方法来添加:
array .append(6)
当数组的数据类型为字符串时,也可以使用加法赋值运算符(+=)直接在数组的后面添加新的数据项;
加法运算符也可以直接添加拥有相同类型的数组:
array += [7,8]
获取数组中数据项的时候,可以用索引来获取值:
var intV = array[0]
修改数组中的某一项时,也可以通过索引来改变:
array[0] = 9
swift中也可以通过下标一次性改变多个数据值:
array[1...3] = [1,2]
在数组尾部添加新项时,不能使用下标来添加新项,此时数组越界,会引发一个运行期错误。
array.insert(13, atIndex: 0)
数组遍历
普遍的我们使用for-in循环来遍历数组中的所有数据项
for i in array
{
}
swift提供一个enumerate函数来遍历数组,会同时返回数据项和索引值:
for (index,value) in array.enumerate()
{
}
如果我们需要创建一个数组,该数组有特定的大小并且所有的数据都是被默认的,此时swift提供了一个数组构造函数:
var newArray = [String](count: 4, repeatedValue: "test")
var newArray2 = Array(count: 3, repeatedValue: "today")
var newArray3 = newArray + newArray2