Swift之数组

2017-05-23  本文已影响19人  oh_flying

swift中数组的一些用法。

数组的定义

func demo1() {
    //OC使用[]定义数组,swift一样,但是没有'@'
    //自动推导的结果[string] -> 表示数组中存放的都是string
    let array = ["张三","小芳","小样"]
    print(array)
    
    //[Int] ->表存放的都是int
    //swift 中基本数据类型不需要包装
    let arrayt2 = [1,2,3,4,5]
    print(arrayt2)
    
    let 数组 = [1,2,3]
    print(数组)
    
    //CG结构体
    let p = CGPoint(x: 10, y: 300)
    let array3  = [p]
    print(array3)
    
    //混合数组:开发中几乎不用,因为数组是靠下 标索引的
    //如果数组中的类型不一致 自动推导的结果为[NSObject]
    //swift中还有一种类型[AnyObject]->任意对象
    //在swift中一个类可以没有任何‘父类’
    // ***在混合的数组中 CG结构体需要包装
    let array4 = ["张三",1,NSValue(cgPoint:p)] as [Any]
    print(array4)
    
 }

数组的遍历

func demo2() {
    let array = ["张三","小芳","小样"]
    //1.按照下标遍历
    for i in 0..<array.count {
        print(array[i])
    }
    
    //按照元素遍历
    for i in array {
        print(i)
    }
    
    //enum block 遍历,同时遍历下标和内容
    //let e: (offset: Int, element: String)这个是个元组
    for e in array.enumerated() {
        print(e)
        print("\(e.offset) \(e.element)")

    }

    // n就是索引下标
    // s就是[String]数组n对应的String元素
    //其中n/s的名字可以随便取
    for (n, s) in array.enumerated() {
        print("\(n) \(s)")
    }
    //反序遍历
    for s in array.reversed() {
        print(s)
    }
    
    
    //反序索引&内容
    //错误的,索引和内容不一致
    for (n, s) in array.reversed().enumerated() {
        print("\(n) \(s)")
    }
    
    //正确的反序
    //先枚举,再反序
    for (n, s) in array.enumerated().reversed() {
        print("\(n) \(s)")
    }

}

数组的增加

总结

主要说了数组的定义以及数组的遍历的方法。

上一篇 下一篇

猜你喜欢

热点阅读