一、說(shuō)明
Swift數(shù)組中的類(lèi)型必須一致,這一點(diǎn)與OC不同
// 數(shù)組初始化var numbers = [0,1,2,3,4,5]var vowels = ["A","E","I","O","U"]// 數(shù)組的類(lèi)型: [Int] 或者 Array<Int>//var numbers: [Int] = [0,1,2,3,4,5]//var numbers: Array<Int> = [0,1,2,3,4,5]// 空數(shù)組var emptyArray1:[Int] = []var emptyArray2:Array<Int> = []var emptyArray3 = [Int]()var emptyArray4 = Array<Int>()// 創(chuàng)建具有默認(rèn)值的數(shù)組(相同元素的數(shù)組)var allZeros = Array<Int>(repeating: 0, count: 5)//[0,0,0,0,0]var allZeros2 = [Int](repeating: 0, count: 5)//[0,0,0,0,0]
二、常用方法
var numbers = [1,2,3,4,5]var vowels = ["A","E","I","O","U"]var emptyArray = [Int]()// 數(shù)組長(zhǎng)度vowels.count// 判空numbers.isEmptyemptyArray.isEmpty// 獲取元素vowels[2]// 數(shù)組越界是一個(gè)嚴(yán)重的錯(cuò)誤//vowels[-1]//vowels[5]// 獲取第一個(gè)元素和最后一個(gè)元素,返回的是可選型vowels.first vowels.last //.first和.last的返回值都為可選型emptyArray.firstif let firstVowel = vowels.first{ print("The first vowel is " + firstVowel)}vowels.first!vowels[vowels.count-1]// 獲取最小,最大值numbers.min() //1vowels.max() //U// 使用范圍numbers[2..<4] //[3,4]numbers[2..<numbers.count] //[3,4,5]// 包含vowels.contains("A")vowels.contains("B")let letter = "A"if vowels.contains( letter ){ print("/(letter) is a vowel")}else{ print("/(letter) is not a vowel")}vowels.index(of: "E") //獲取索引,返回值為可選型if let index = vowels.index(of: "E"){ print("E is a vowel in position /(index+1).")}else{ print("E is not a vowel.")}// 遍歷for index in 0..<numbers.count{ numbers[index]}for number in numbers{ print(number)}for (index, vowel) in vowels.enumerated(){ //遍歷數(shù)組索引和元素 print("/(index+1): /(vowel)")}// 比較var oneToFive = [1,2,3,4,5]numbers == oneToFive //truevar oneToFive2 = [1,2,4,3,5]numbers == oneToFive //true//swift 3.0之前數(shù)組是有序的數(shù)據(jù)集合,swift 3.0后為無(wú)序三、更多操作
var courses = ["A","B","C"]// 添加元素courses.append("D") //["A","B","C","D"]print(courses)// 數(shù)組常量//使用let定義的數(shù)組不可以更改任何內(nèi)容courses += ["E"] //+=后面必須和前面的類(lèi)型一致 //["A","B","C","D","E"]print(courses)// 兩個(gè)數(shù)組相加courses = courses + ["F","G"] //+后面必須是數(shù)組//["A","B","C","D","E","F","G"]print(courses)courses.insert("Q", at: 5) //["A", "B", "C", "D", "E", "Q", "F", "G"]print(courses)// 刪除元素courses.removeLast()//["A", "B", "C", "D", "E", "Q", "F"]print(courses)courses.removeFirst()//["B", "C", "D", "E", "Q", "F"]print(courses)courses.remove(at: 4)//["B", "C", "D", "E", "F"]//courses.removeAtIndex(10)print(courses)//區(qū)間刪除操作//courses.removeRange(0..<4)//courses.removeRange(0..<10)//print(courses)//courses.removeAll()//print(courses)// 修改元素courses[0] = "W"//["W", "C", "D", "E", "F"]print(courses)//范圍修改courses[1...3] = ["W","W","W"]//["W", "W", "W", "W", "F"]print(courses)courses[0...3] = ["W"]//["W", "F"]print(courses)四、二維數(shù)組
var board = [ [1024,16,2,0] , [256,4,2,0] , [64,2,0,0] , [2,0,0,0] ]//var board:[[Int]] = [ [1024,16,2,0] , [256,4,2,0] , [64,2,0,0] , [2,0,0,0] ]//var board:[Array<Int>] = = [ [1024,16,2,0] , [256,4,2,0] , [64,2,0,0] , [2,0,0,0] ]//var board:Array<[Int]> = [ [1024,16,2,0] , [256,4,2,0] , [64,2,0,0] , [2,0,0,0] ]//var board:Array<Array<Int>> = [ [1024,16,2,0] , [256,4,2,0] , [64,2,0,0] , [2,0,0,0] ]// 二維數(shù)組獲取元素board[0]board[0][0]// 獲取二維數(shù)組兩個(gè)維度的信息board.countboard[0].count// Swift中的二維數(shù)組,每一維度的元素?cái)?shù)目可以不同board[0].append(0)board// 為二維數(shù)組的第一個(gè)維度添加的元素是一個(gè)數(shù)組board.append([0,0,0,0])board += [ [0,0,0,0] ]board
五、NSArray
NSArray是一個(gè)類(lèi),Array是一個(gè)結(jié)構(gòu)體
var array1 = [] //會(huì)默認(rèn)是NSArray,swift3.0之后該寫(xiě)法廢除var array2 = [1,2,3,4,5] as NSArrayvar array3: NSArray = [1,"hello"]var array4: [NSObject] = [1 as NSObject,"hello" as NSObject]
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注