为 AnyObject 类型转换以表示任何引用类型的实例
Type Casting For AnyObject to represent instances of any reference type
var array = [AnyObject]()
struct Test {}
array.append(Test())
当我在操场上写这段代码时,出现以下错误 Type 'Test' does not conform to protocol 'AnyObject'
我猜它失败了,因为 struct 是值类型而不是引用类型。
但是当我 运行 这个代码
var array = [AnyObject]()
array.append(1)
array.append(2.0)
array.append("3")
有效
但这些也是值类型,但在这种情况下没有给出错误 Why?
对于您的成功案例,幕后正在进行一些转换。
尝试在追加的末尾添加这个,看看发生了什么:
for item in array {
print(item.dynamicType)
}
var array = [AnyObject]()
struct Test {}
array.append(Test())
当我在操场上写这段代码时,出现以下错误 Type 'Test' does not conform to protocol 'AnyObject'
我猜它失败了,因为 struct 是值类型而不是引用类型。 但是当我 运行 这个代码
var array = [AnyObject]()
array.append(1)
array.append(2.0)
array.append("3")
有效 但这些也是值类型,但在这种情况下没有给出错误 Why?
对于您的成功案例,幕后正在进行一些转换。
尝试在追加的末尾添加这个,看看发生了什么:
for item in array {
print(item.dynamicType)
}