美文网首页
Swift(九)数组

Swift(九)数组

作者: 冰三尺 | 来源:发表于2016-10-30 15:00 被阅读42次
    0834557c10a0f4dd7b075969bec8bce11a65ef5299e4f-pAeeVz_fw658.jpeg

    数组是一系列相同类型的数据集合,存储相同类型的可重复的有序的多个数据
    Swift 数组存储特定类型的值。不同于 Objective - C 的 NSArray 和 NSMutableArray 类:它们可以存储任何类型的对象,而且不提供对象的本质任何信息。

    创建一个有默认值的数组
    var list = [Int](repeatElement(3, count: 10))
    //[3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
    创建一个有序的范围的数组
    let ary = Array(0...10)
    //[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    -----------------------------------
    //二者等价
    var shoppingList: [String] = ["Eggs", "Milk"]
    var shoppingList1 = ["Eggs", "Milk"] //swift 类型自动推断为swift
    
    //初始化一个空数组, 数组元素类型为String
    var array:[String] = []
    或
    var array = [String]()
    array.append("11")
    print(array)
    

    通过下标改变一系列数据值,即使新数据的数量和原有数据的数量是不一样的。

    var shoppingList: [String] = ["Eggs", "Milk", "Bananas"]
    shoppingList[0...1] = ["Apple"] //把下标从0到1的元素替换成"Apple"
    print(shoppingList) //["Apple", "Bananas"]
    shoppingList.insert("Maple Syrup", at: 0) //在0的位置插入一个元素
    shoppingList.remove(at: 0) //移除某个位置的元素
    //移除从最后一个位置开始计算, 向前计算, 移除最后两个元素
    shoppingList.removeLast(2)
    
    

    使用 for-in 循环遍历数组中所有元素:

    for item in shoppingList {
        println(item)
    }
    

    如果同时需要每个元素的值和索引值,可以使用全局函数 enumerate 来进行数组遍历。enumerate 返回一个由元素索引值和数据值组成的键值对。我们可以把这个键值对分解成临时常量或者变量来进行遍历:

    for (index, value) in shoppingList.enumerated() {
        print("Item \(index + 1): \(value)")
    }
    

    使用加法操作符(+)来合并两种相同类型的数组:

    var ary1 = [1, 2]
    var ary2 = [3, 4]
    var ary3 = ary1 + ary2 //[1, 2, 3, 4]
    //把一个数组添加到另一个数组, 类似addObjectsFromArray
    ary1.append(contentsOf: ary2)
    
    //声明一个数组, 并初始化
    var array:[String] = []
    //声明一个数组, 未初始化, 可选类型
    var array1:Array<String>?
    //声明一个数组, 并初始化
    var array2 = [String]()
    //声明一个数组并初始化
    var array3:Array<Int> = Array<Int>()
    hide_icon_list.count
    hide_icon_list1?.count
    hide_icon_list2.count
    

    获取数组某个元素的位置

    var fiveInts = [1, 2, 3, 4, 5]
    let one = fiveInts.index{ $0 == 3 }
    //2
    

    相关文章

      网友评论

          本文标题:Swift(九)数组

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