你可以声明一个空数组,而不知道swift中的类型

时间:2015-02-20 23:28:22

标签: arrays swift creation

例如:

let myArray:[] = []

let myArray = []

3 个答案:

答案 0 :(得分:2)

第一个是不可能的(它会抱怨预期的元素类型)如果你不知道元素类型你可以使用AnyObject但是如果你知道它的类型你必须把它放在那里(Int,Double, String,AnyObject等......)。

var myArrayOfDoubles:[Double] = []

第二个(当省略类型时)只有初始化它有一些值但是如果你用一个空数组尝试它你将无法附加任何东西(至少使用Playground)说NSArray确实没有名为append的成员。

var myArrayOfInts = [1,2,3,4,5]          //   [Int]
var myArrayOfAnyObject:[AnyObject] = []  //   [AnyObject]

最后但最重要的是你必须将它定义为var,因为如果你使用let定义它将永远保持为空:)

答案 1 :(得分:0)

没有。如果你不知道将要使用什么:

var myArray = [Any]()

Apple推出了Type-GeStaPo,你必须在第三阶段输入任何不在树上的东西。

添加到此用途

myArray.append("this")
myArray.append(1)
myArray.append(myObject)

答案 2 :(得分:0)

是的,你可以,它可以是Any或Anyobject ...... 例如:

var noTypeArray = [Any]()

如果你想最终填充数组,那么它可能是var,不可以,否则没有任何意义。