0834557c10a0f4dd7b075969bec8bce11a65ef5299e4f-pAeeVz_fw658.jpeg
數(shù)組是一系列相同類型的數(shù)據(jù)集合埋嵌,存儲相同類型的可重復(fù)的有序的多個數(shù)據(jù)
Swift 數(shù)組存儲特定類型的值云头。不同于 Objective - C 的 NSArray 和 NSMutableArray 類:它們可以存儲任何類型的對象扇单,而且不提供對象的本質(zhì)任何信息位谋。
創(chuàng)建一個有默認(rèn)值的數(shù)組
var list = [Int](repeatElement(3, count: 10))
//[3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
創(chuàng)建一個有序的范圍的數(shù)組
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
//初始化一個空數(shù)組, 數(shù)組元素類型為String
var array:[String] = []
或
var array = [String]()
array.append("11")
print(array)
通過下標(biāo)改變一系列數(shù)據(jù)值憔涉,即使新數(shù)據(jù)的數(shù)量和原有數(shù)據(jù)的數(shù)量是不一樣的骏融。
var shoppingList: [String] = ["Eggs", "Milk", "Bananas"]
shoppingList[0...1] = ["Apple"] //把下標(biāo)從0到1的元素替換成"Apple"
print(shoppingList) //["Apple", "Bananas"]
shoppingList.insert("Maple Syrup", at: 0) //在0的位置插入一個元素
shoppingList.remove(at: 0) //移除某個位置的元素
//移除從最后一個位置開始計算, 向前計算, 移除最后兩個元素
shoppingList.removeLast(2)
使用 for-in 循環(huán)遍歷數(shù)組中所有元素:
for item in shoppingList {
println(item)
}
如果同時需要每個元素的值和索引值,可以使用全局函數(shù) enumerate 來進(jìn)行數(shù)組遍歷懂版。enumerate 返回一個由元素索引值和數(shù)據(jù)值組成的鍵值對鹃栽。我們可以把這個鍵值對分解成臨時常量或者變量來進(jìn)行遍歷:
for (index, value) in shoppingList.enumerated() {
print("Item \(index + 1): \(value)")
}
使用加法操作符(+)來合并兩種相同類型的數(shù)組:
var ary1 = [1, 2]
var ary2 = [3, 4]
var ary3 = ary1 + ary2 //[1, 2, 3, 4]
//把一個數(shù)組添加到另一個數(shù)組, 類似addObjectsFromArray
ary1.append(contentsOf: ary2)
//聲明一個數(shù)組, 并初始化
var array:[String] = []
//聲明一個數(shù)組, 未初始化, 可選類型
var array1:Array<String>?
//聲明一個數(shù)組, 并初始化
var array2 = [String]()
//聲明一個數(shù)組并初始化
var array3:Array<Int> = Array<Int>()
hide_icon_list.count
hide_icon_list1?.count
hide_icon_list2.count
獲取數(shù)組某個元素的位置
var fiveInts = [1, 2, 3, 4, 5]
let one = fiveInts.index{ $0 == 3 }
//2