• Swift-数组


    1、数组的定义

        //OC 使用[]定义数组,Swift一样,但是没有@

            //自动推导的结果[String]->表示数组中存的都是String

            //跟OC中的数组指定泛型类型

        //Swift 中基本数据类型不需要包装

            let array = ["张三","里斯"]

       //CG结构体

            let p = CGPoint(x: 10, y: 300)

            let array3 = [p]

    //混合数组:开发中几乎不用,因为数组是靠下标索引

            //如果数组中的类型不一致,自动推导的结果[NSObject]

            //在Swift 中还有一种类型[AnyObject]->任意类型

            //在Swift 中一个类可以没有任何‘父类’

            //在混合的数组中,CG结构体需要包装

            let array4 = ["账单",1,2,NSValue(CGPoint:p)]

    2、数组的遍历

         let array = ["张三","里斯","xiaoming"]

    方法一:按照下标遍历

    for i in 0..<array.count {

                 print(i)

            }

    方法二:for in 遍历元素

    for s in array{

                print(s)

            }

    方法三:enum block 遍历,同时遍历下标和内容

    for e in array.enumerate(){

                print(e)

                /*

                元组

                (0, "张三")

                (1, "里斯")

                (2, "xiaoming")

                */

            }

    方法四:遍历下标和内容

            //n 索引下标

            //s 就是[String]数组n对应的String元素

            //n/s随便写

            for (n, s) in array.enumerate(){

                print("(n)(s)")

            }

    方法五:反序遍历

    for s in array.reverse(){

                print(s)

            }

    方法六:反序遍历下标和内容

    //先枚举再反序

            for (n,s) in array.enumerate().reverse(){

                print("(n)(s)")

            }

    3、数组的增删改

      OC数组分为可变和不可变数组,在Swift中改变var就行

     追加元素

      array.append("老王")

    //修改,通过下标定位

            array[0] = "@"

    //删除

            array.removeAtIndex(2)      

    //删除全部,并且保留空间

            array.removeAll(keepCapacity: true)

            print("(array)(array.capacity)")

    4、数组的容量

    //定义个数组,指定类型, 但是没有初始化

            //var array: [Int]

            //初始化

           // array = [Int]()

            //以上可以合并成一句

            var array = [Int]()

        array.capacity的容量初始化为0,以2,4,8,16……递增

      

      //如果初始化指定容量,可以避免插入数据时,重复分配空间,效率会高点

            //[NSMutableArray arrayWithcapacity:10]

    5、数组的合并

       var array:[NSObject] = ["张三","里斯","xiaoming"]

            let array2 = ["老公","1","2",100]

            //将array2合并到array中

            //注:要合并的数组类型必须一致,才可以直接+

            array += array2

  • 相关阅读:
    elasticsearch配置小记(转)
    valgrind详解
    elasticsearch2.x优化小结(单节点)
    使 nodejs 代码 在后端运行(forever)
    使 nodejs 代码 在后端运行(nohup)
    Flutter移动电商实战 --(16)切换后页面状态的保持AutomaticKeepAliveClientMixin
    Flutter移动电商实战 --(14)首页_拨打电话操作
    Flutter移动电商实战 --(15)商品推荐区域制作
    Flutter移动电商实战 --(11)首页_屏幕适配方案和制作
    [UI] 精美UI界面欣赏[9]
  • 原文地址:https://www.cnblogs.com/jiang-xiao-yan/p/6382660.html
Copyright © 2020-2023  润新知