Swift各种创建空数组的方式有什么区别?

时间:2015-04-13 03:33:32

标签: swift

我查看了一些论坛的文档,发现我可以用各种方式创建一个数组。我很困惑我们应该使用哪一个?

var testArray = [Int]()
testArray.append(1)

var anotherTestArray: [Int] = []
anotherTestArray.append(1)

var yetAnotherTestArray: Array<Int> = []
yetAnotherTestArray.append(1)

var yetYetYetAnotherTestArray = Array<Int>()
yetYetYetAnotherTestArray.append(1)

这不是空数组,但它保持每个元素的类型严格地为Int

var yetYetAnotherTestArray = [1]

1 个答案:

答案 0 :(得分:0)

我认为创建数组的最简洁方法是var testArray: [Int] = []

在swift数组中,对象必须是同一类型。如果要存储不同类型的不同对象,请使用[AnyObject]。但是,你应该总是知道它会发生什么。由于返回的类型值为AnyObject,因此必须将值转换为所需的类型。

我真的不建议使用AnyObject作为数组的类型,除非你真的知道自己在做什么。

无论如何这是一个例子:

let a: [AnyObject] = [1, "a"]
let b = a[0] // An Int
let c = a[1] // A String