我想在元组中使用AnyObject来传递我的自定义类:
var array: [(Float, AnyObject)] = []
let number: Float = 10.0
let instance = MyClass()
向数组添加元组的两种方法都不起作用:
array += [(number, instance)]
array.append((number, instance))
不可能这样做吗?
答案 0 :(得分:3)
您正在尝试添加其他类型的元组,因为它是(Float, MyClass)
而不是(Float, AnyObject)
。
只需改变一下:
let instance = MyClass()
进入:
let instance: AnyObject = MyClass()
它应该有用。
或者,您可以在创建元组时执行显式向下转换
array += [(number, instance as AnyObject)]
array.append((number, instance as AnyObject))