swift中數(shù)組的一些用法。
數(shù)組的定義
func demo1() {
//OC使用[]定義數(shù)組,swift一樣,但是沒有'@'
//自動推導(dǎo)的結(jié)果[string] -> 表示數(shù)組中存放的都是string
let array = ["張三","小芳","小樣"]
print(array)
//[Int] ->表存放的都是int
//swift 中基本數(shù)據(jù)類型不需要包裝
let arrayt2 = [1,2,3,4,5]
print(arrayt2)
let 數(shù)組 = [1,2,3]
print(數(shù)組)
//CG結(jié)構(gòu)體
let p = CGPoint(x: 10, y: 300)
let array3 = [p]
print(array3)
//混合數(shù)組:開發(fā)中幾乎不用,因為數(shù)組是靠下 標(biāo)索引的
//如果數(shù)組中的類型不一致 自動推導(dǎo)的結(jié)果為[NSObject]
//swift中還有一種類型[AnyObject]->任意對象
//在swift中一個類可以沒有任何‘父類’
// ***在混合的數(shù)組中 CG結(jié)構(gòu)體需要包裝
let array4 = ["張三",1,NSValue(cgPoint:p)] as [Any]
print(array4)
}
數(shù)組的遍歷
func demo2() {
let array = ["張三","小芳","小樣"]
//1.按照下標(biāo)遍歷
for i in 0..<array.count {
print(array[i])
}
//按照元素遍歷
for i in array {
print(i)
}
//enum block 遍歷,同時遍歷下標(biāo)和內(nèi)容
//let e: (offset: Int, element: String)這個是個元組
for e in array.enumerated() {
print(e)
print("\(e.offset) \(e.element)")
}
// n就是索引下標(biāo)
// s就是[String]數(shù)組n對應(yīng)的String元素
//其中n/s的名字可以隨便取
for (n, s) in array.enumerated() {
print("\(n) \(s)")
}
//反序遍歷
for s in array.reversed() {
print(s)
}
//反序索引&內(nèi)容
//錯誤的,索引和內(nèi)容不一致
for (n, s) in array.reversed().enumerated() {
print("\(n) \(s)")
}
//正確的反序
//先枚舉,再反序
for (n, s) in array.enumerated().reversed() {
print("\(n) \(s)")
}
}
數(shù)組的增加
總結(jié)
主要說了數(shù)組的定義以及數(shù)組的遍歷的方法。