首页 > 代码库 > 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)     遍历数组的方式   

  1.        for  ...in     这个很常见了
  2.        利用元组返回下标跟具体的值 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中数组的新增方法