我正在尝试了解将不同类型的多个对象添加到[Any]
数组的最佳方法。除非我明确地将数组和数组中的对象强制转换为Any
,否则这在Swift 3的操场中不起作用。
var anyArray: [Any] = []
let strings = ["sup", "cool"]
let numbers = [5, 3]
anyArray += strings
anyArray += numbers
anyArray
失败并显示消息 - 无法将'[Any]'类型的值转换为预期的参数类型'inout _'
答案 0 :(得分:1)
var arr = [Any]()
let arr1:[Any] = [2,3,4]
let arr2:[Any] = ["32","31"]
arr += arr1
arr += arr2
print(arr)
答案 1 :(得分:0)
我认为这是来自Swift编译器的无用错误消息的另一种情况。真正的问题是AnyObject
表示任何对象(引用类型);结构 - Int
和String
都是 - 不算数,因为它们是值类型。如果您想要引用任何类型,请使用Any
。