swift中数组的一些用法。
数组的定义
func demo1() {
//OC使用[]定义数组,swift一样,但是没有'@'
//自动推导的结果[string] -> 表示数组中存放的都是string
let array = ["张三","小芳","小样"]
print(array)
//[Int] ->表存放的都是int
//swift 中基本数据类型不需要包装
let arrayt2 = [1,2,3,4,5]
print(arrayt2)
let 数组 = [1,2,3]
print(数组)
//CG结构体
let p = CGPoint(x: 10, y: 300)
let array3 = [p]
print(array3)
//混合数组:开发中几乎不用,因为数组是靠下 标索引的
//如果数组中的类型不一致 自动推导的结果为[NSObject]
//swift中还有一种类型[AnyObject]->任意对象
//在swift中一个类可以没有任何‘父类’
// ***在混合的数组中 CG结构体需要包装
let array4 = ["张三",1,NSValue(cgPoint:p)] as [Any]
print(array4)
}
数组的遍历
func demo2() {
let array = ["张三","小芳","小样"]
//1.按照下标遍历
for i in 0..<array.count {
print(array[i])
}
//按照元素遍历
for i in array {
print(i)
}
//enum block 遍历,同时遍历下标和内容
//let e: (offset: Int, element: String)这个是个元组
for e in array.enumerated() {
print(e)
print("\(e.offset) \(e.element)")
}
// n就是索引下标
// s就是[String]数组n对应的String元素
//其中n/s的名字可以随便取
for (n, s) in array.enumerated() {
print("\(n) \(s)")
}
//反序遍历
for s in array.reversed() {
print(s)
}
//反序索引&内容
//错误的,索引和内容不一致
for (n, s) in array.reversed().enumerated() {
print("\(n) \(s)")
}
//正确的反序
//先枚举,再反序
for (n, s) in array.enumerated().reversed() {
print("\(n) \(s)")
}
}
数组的增加
总结
主要说了数组的定义以及数组的遍历的方法。
网友评论