美文网首页
Swift之数组

Swift之数组

作者: oh_flying | 来源:发表于2017-05-23 20:00 被阅读19次

    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)")
        }
    
    }
    

    数组的增加

    总结

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

    相关文章

      网友评论

          本文标题:Swift之数组

          本文链接:https://www.haomeiwen.com/subject/mxmgxxtx.html