有两种情况让我混淆使用的Xcode 7.1,请参见下面的例子中发展迅速的2.2时,由于为什么在阵列
首先,当进口将多个类型的项目时,斯威夫特没有类型推断的任何基金会,我宣布它包含两个项目,一个Integer型和String类型的“hello”的testArray,我的问题是,为什么斯威夫特类型推断testArray到阵列(NSObject的),而不是阵列(任何)
import Foundation
let testArray = [1, "hello"]
print(testArray.dynamicType) //testArray is Array<NSObject>
二,当我删除导入基础,下面的代码不能编译,错误信息是“表达式的类型是不明确的,没有更多的内容”,我的问题是什么原因斯威夫特没有类型推断在这种情况下阵列(任何),用于帮助
let testArray2 = [2, "world"]
print(testArray2)
//can't compile, error message = "Type of expression is ambiguous without more content"
最后两段提到了这里最重要的一点。说实话,'NSObject'(或者'AnyObject'不会在这里工作,但我总是看到它被使用)并不比'Any'更具体。 – nhgrif
@ originaluser2你的解释真的很有帮助,非常感谢 – c41ux
@ c41ux乐于帮助:) – Hamish