Swift 数组

来源:互联网 发布:福建网络继续教育学院 编辑:程序博客网 时间:2024/06/09 04:39

在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 inarray

{

    

    

}

swift提供一个enumerate函数来遍历数组,会同时返回数据项和索引值:


for (index,value) inarray.enumerate()

{

   

}

如果我们需要创建一个数组,该数组有特定的大小并且所有的数据都是被默认的,此时swift提供了一个数组构造函数:

var newArray = [String](count: 4, repeatedValue"test")

var newArray2 = Array(count: 3, repeatedValue"today"

var newArray3 = newArray + newArray2 



0 0