Swift 数组特定于它所存储元素的类型。这与 Objective-C 的 NSArray 和 NSMutableArray 不同,这两个类可以存储任意类型的对象,并且不提供所返回对象的任何特别信息。在 Swift 中,数据值在被存储进入某个数组之前类型必须明确,方法是通过显式的类型标注或类型推断,而且不是必须是class
类型。
<span style="font-size:18px;">//1.构造数组,并赋值,只能构造字符串
var arr: String[] = ["Eggs", "Milk"]
//2.arr.count 可以求出数组的元素个数
println(arr.count)
//3.arr.isEmpty 可以检查数组是否为空
//4.为数组追加元素
arr.append("3")
arr += "4" //也可以通过+=的方式追加
arr += ["5","6"]//也可以追加一个数组
//5.可以通过arr[1] 来取值,也可以赋值
let a = arr[1]
//6.可以利用下标来一次改变一系列数据值 注意1..3 是 1,2 ;1...3 是1,2,3
arr[1..3] = ["0","1"]
//7.插入数据
arr.insert("zero", atIndex: 0)
//8.删除数组里第一个元素,并赋值给mapleSyrup
let mapleSyrup = arr.removeAtIndex(0)
//9.数组的最后一项被移除了
let apples = arr.removeLast()
//10.遍历数组
for item in arr {
println(item)
}
//11.如果也需要遍历index 的时候可以用这个方法
for ( index , value ) in enumerate(arr){
println("index \(index) is " + value)
}
//12.声明一个空的int类型的数组
var arrInt = Int[]()
arrInt += 1
arrInt += 2
println(arrInt)
//13.anotherThreeDoubles is inferred as Double[], and equals [2.5, 2.5, 2.5] 可以预加载一定的元素的数组,不能是nil
var anotherThreeDoubles = Array(count: 3, repeatedValue: 1)
</span>
<span style="font-size:18px;">//声明了一个字典
var dict = Dictionary<Int, String>()
dict[1] = "12"
//对字典来说,不可变性也意味着我们不能替换其中任何现有键所对应的值。不可变字典的内容在被首次设定之后不能更改。 不可变性对数组来说有一点不同,当然我们不能试着改变任何不可变数组的大小,但是我们可以重新设定相对现存索引所对应的值。这使得 Swift 数组在大小被固定的时候依然可以做的很棒。
//上点很重要,举例
let letArr = [1,2,3]
letArr[1] = 5
println(letArr)
// letArr = [1,2] error</span>