首页 > 代码库 > Swif中数组相比OC中数组的新增方法
Swif中数组相比OC中数组的新增方法
1) Swfit 中的数组 只能保存相同类型的值,不同于OC 与 Java 相同
2) Swift初始化方法
var s0 = [1,2,3,4,5]
var s1 :[Int] = [1 ,2 ,3 ,4 ,5]
var s2: [String]
var s3 = [Int]()
在swift 中 如果真行复制操作 s3 = s1 , s3 会复制一份s1 的值,是一次深copy。两份值互不影响。
s3[0]的值发生了改变,但s1的值没有改变。输出 是1 , 2 ,3 ,4 ,5.
注意 : 有这种情况时 var s = [ ] ,此时不是一个数组,不能进行 s [1] = 3 具体原因现在也不清楚!
3) isEmpty (oc 没有) 判断array的count 是否为0
上面的 s2 现在是无法调用方法的,因为它只是一个申明,没有真实的内存非配。
4) += (oc array 没有) 在末尾添加一个或多个值,添加一个时相当于append。多个时相当于之间添加一个数组。
但是写代码时添加一个值时会报错。
5) s1 [startIndex ... endIndex] 取值为 [startIndex endIndex)
6) 遍历数组的方式
- for ...in 这个很常见了
- 利用元组返回下标跟具体的值 for (index, value ) in enumerate in (array)
for (index ,value) inenumerate (s1) {
println (" s1[\(index)] =\(value)")
}
7) 新的创建方式 [类型](count : repeatedValue)
var s6 = [String](count : 3 repeatedValue:"Hello,World" )
Swif中数组相比OC中数组的新增方法