AnyObject 的类型转换,用于表示任何引用类型的实例


 var array = [AnyObject]()
 struct Test {}
 array.append(Test())

当我在游戏场中编写此代码时,它给了我以下错误 类型"测试"不符合协议"AnyObject"

我猜它失败了,因为结构是值类型而不是引用类型。但是当我运行此代码时

var array = [AnyObject]()
array.append(1)
array.append(2.0)
array.append("3")

它有效但这些也是值类型,但在这种情况下没有给出错误为什么?

对于您的成功案例,幕后正在进行一些转换。

尝试在追加末尾添加以下内容,看看发生了什么:

for item in array {
    print(item.dynamicType)
}

相关内容

最新更新