在Swift 3中将数组多个对象添加到[Any]

时间:2017-02-20 15:50:21

标签: swift swift3

我正在尝试了解将不同类型的多个对象添加到[Any]数组的最佳方法。除非我明确地将数组和数组中的对象强制转换为Any,否则这在Swift 3的操场中不起作用。

var anyArray: [Any] = []
let strings = ["sup", "cool"]
let numbers = [5, 3]
anyArray += strings
anyArray += numbers
anyArray

失败并显示消息 - 无法将'[Any]'类型的值转换为预期的参数类型'inout _'

2 个答案:

答案 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表示任何对象(引用类型);结构 - IntString都是 - 不算数,因为它们是值类型。如果您想要引用任何类型,请使用Any