数组存储字符串以及swift3中的浮点值?

时间:2016-09-28 04:58:33

标签: ios arrays swift swift3 xcode7.3

我正在学习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值。

enter image description here

Xcode:Version 7.3 (7D175)
OS: 10.11.6 (15G31)

通过枚举检查数组似乎工作正常。

enter image description here

为什么创建数组时错误不会出现?检查Xcode以及它是否也一样。

2 个答案:

答案 0 :(得分:2)

当您使用Xcode 7.3时,意味着您正在使用Swift 2.3,以便第二个数组stringArray1[AnyObject]的类型。这就是你没有得到错误的原因。在Swift 2.3或更高版本中,您可以在类型为[AnyObject]

的同一数组中添加不同类型的对象

在Swift 3中,它是[Any]数组的类型。

答案 1 :(得分:2)

它被推断为AnyObject的数组。 String和Double都可以通过桥接转换为AnyObject。所以数组仍然只有一种元素类型!