我正在学习Swift,我在Playground项目中创建了一个数组
var stringArray:[String] = ["sanoj","kashyap"] //creating array of type string
在此之后我创建了数组
var stringArray:[String] = ["sanoj",2.2]
//显示我正确的数组(意味着它给出了错误)
但是
var stringArray1 = ["sanoj",2.2] does not giving any array ?? why?
根据数组的def:
数组是一个有序集合,用于存储多个值 相同的类型。这意味着Int数组只能存储Int值。 而且你只能在其中插入Int值。
Xcode:Version 7.3 (7D175)
OS: 10.11.6 (15G31)
通过枚举检查数组似乎工作正常。
为什么创建数组时错误不会出现?检查Xcode以及它是否也一样。
答案 0 :(得分:2)
当您使用Xcode 7.3时,意味着您正在使用Swift 2.3,以便第二个数组stringArray1
是[AnyObject]
的类型。这就是你没有得到错误的原因。在Swift 2.3或更高版本中,您可以在类型为[AnyObject]
在Swift 3中,它是[Any]
数组的类型。
答案 1 :(得分:2)
它被推断为AnyObject的数组。 String和Double都可以通过桥接转换为AnyObject。所以数组仍然只有一种元素类型!