swift的數組是存放數據,相對object-c而言,swift更簡單,對數組的元素的屬性更加弱化,不須要強制數組元素是對象swift
數組的定義數組
//定義不可變數組 let arrt = ["a","b",1,[2,"l"]] //定義可變數組 var arr = ["a","b",1,[2,"l"]]
數組的長度app
//數組的長度 用 count var arr = ["a","b",1,[2,"l"]] let length = arr.count print("length = \(length)") //打印結果 length = 4
建立空數組函數
//建立空數組 -- 直接定義 var arr1 = [] //規定數組元素的的類型,與swift1 的寫法有所不一樣 這塊需注意 var arr2 = [String]()
建立一個給定的大小,並用初始值的數組spa
var arr = [String](count: 4, repeatedValue: "s") print("arr = \(arr)") //打印結果爲: arr = ["s", "s", "s", "s"]
//建立一個有四個元素的數組,並指定四個值的數組: var arr:[Int] = [1, 2, 3,4] print("arr = \(arr)") //打印結果爲: arr = [1, 2, 3, 4]
** 注意:
當賦值與規定的類型不符時程序就會報錯
數組的取值code
//直接經過下標取值 這和 oc同樣 var arr:[Int] = [1, 2, 3,4] var someObj = arr[1] print("someObj = \(someObj)") //打印結果爲: someObj = 2
數組添加元素對象
//一種是使用 append() 方法 一種是直接賦值(+=) var arr = [String]() arr.append("a") arr.append("b") arr += ["cde"] print( "arr == \(arr)" ) print( "arr 第一個元素 == \(arr[0])" ) print( "arr 第二個元素 == \(arr[1])" ) print( "arr 第三個元素 == \(arr[2])" ) //打印結果是: arr == ["a", "b", "cde"] arr 第一個元素 == a arr 第二個元素 == b arr 第三個元素 == cde
數組元素的修改blog
//經過索引修改數組的值: var arr = [1,2,"s","c"] arr[1] = "g" print( "arr 第二個元素 == \(arr)" ) //打印結果是: arr 第二個元素 == [1, g, s, c]
數組的遍歷索引
//使用 for-in var arr = [String]() arr.append("one") arr.append("two") arr += ["three"] for element in arr { print(element) } //運行結果 one two three //使用 EnumerateSequence() 函數: for (index, element) in EnumerateSequence(arr) { print("arr[\(index)] = \(element)") } //運行結果 arr[0] = one arr[1] = two arr[2] = three
//swift3.0以後 用EnumerateSequence替代了enumeratethree
//數組 for in var arr = [String]() for index in 0...5{ arr.append("\(index)") } print("arr = \(arr)") //打印結果 arr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] //數組的遍歷 while var i = 0 while i < arr.count{ print(arr[i]) i += 1 } //打印結果 0 1 2 3 4 5 注意 :i++ 在swift3 以後 更推薦使用 i += 1
數組的拼接
//兩個類型相同的數組能夠相加 var arr1 = [Int](count:3, repeatedValue: 2) var arr2 = [Int](count:3, repeatedValue: 1) var arrAdd = arr1 + arr2 for item in arrAdd { print(item) } //打印結果爲: 2 2 2 1 1 1
空屬性
//空屬性(isEmpty)判斷一個數組是否爲空: var arr = [Int]() if arr.isEmpty{ print("arr 爲空") }else{ print("arr 不爲空") } //打印結果爲: arr 爲空
** 注意:此處的數組不能是 var arr = [] 這樣定義,這樣isEmpty系統會報錯