前端之家收集整理的这篇文章主要介绍了
swift 基础学习(4) - 数组,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
// MARK:--数组的定义
func demo() {
// OC使用[] 定义数组,没有@符
// 自动推导数组元素类型 [String] - >表示 数组中存放的都是String类型
let firstArray = ["hello","world"]
print(firstArray)
// 自动推导为[Int]->表示存放的都是 Int类型
// 与OC不同 基本类型都是结构体,不需要包装
let array = [1,2,3,4,5]
print(array)
// 自动推导为[CGPoint] OC中的结构体
let p = CGPoint(x: 10,y: 300)
let array2 = [p]
print(array2)
// 混合数组,自动推导为 [Any]- > 任意类型
// 实际开发中并不常用
let array3 = ["混合数组",p,1] as [Any]
print(array3)
// 空间容量不足的时候 会 *2
let array4 = [Int]()
print("\(array4.capacity)")
}
// MARK:--数组的遍历
func demo2() {
// 定义数组 [String]
let array = ["张三","李四","王二","麻子"]
//1,按照下标遍历
for i in 0..<array.count {
print(array[i])
}
//2, for in 遍历
for string in array {
print(string)
}
//3,遍历下标与内容 这里的 type 类型就是 元组
for type in array.enumerated() {
print("\(type.offset) \(type.element)")
}
// 4,遍历下标与内容
for (n,s) in array.enumerated() {
print("\(n)--\(s)")
}
// 5,反序遍历
print("--------反序遍历--------")
for s in array.reversed() {
print(s)
}
// 6,反序遍历下标内容(先枚举,后反序)
for s in array.enumerated().reversed() {
print(s)
}
// 错误写法(下标和内容不一样)
for s in array.reversed().enumerated() {
print(s)
}
}
// MARK:- 数组的增,删,改
func demo3() {
// OC 中数组分可变与不可变
var array = ["张三","麻子"]
// 追加元素
array.append("隔壁老王")
print(array)
// 修改元素
array[0] = "隔壁老宋"
print(array)
// 删除元素
array.remove(at: 2)
print(array)
// 特殊用法 :删除所有元素,并保留空间
array.removeAll(keepingCapacity: true)
print("\(array) \(array.capacity)")
}
// MARK:- 数组的合并
func demo4() {
// 要合并的数组的类型 要保持一致
var array = ["张三","麻子"] as [Any]
let array1 = ["老王","老宋","1",190] as [Any]
array += array1
print(array)
}