自定义 class 作为元组中的 AnyObject
Custom class as AnyObject in tuple
我想在元组中使用 AnyObject 以传递我的自定义 class:
var array: [(Float, AnyObject)] = []
let number: Float = 10.0
let instance = MyClass()
向数组添加元组的两种方法均无效:
array += [(number, instance)]
array.append((number, instance))
不可以吗?
您正在尝试添加不同类型的元组,因为它是 (Float, MyClass)
而不是 (Float, AnyObject)
。
只需更改此:
let instance = MyClass()
进入:
let instance: AnyObject = MyClass()
它应该可以工作。
或者,您可以在创建元组时执行显式向下转换
array += [(number, instance as AnyObject)]
array.append((number, instance as AnyObject))
我想在元组中使用 AnyObject 以传递我的自定义 class:
var array: [(Float, AnyObject)] = []
let number: Float = 10.0
let instance = MyClass()
向数组添加元组的两种方法均无效:
array += [(number, instance)]
array.append((number, instance))
不可以吗?
您正在尝试添加不同类型的元组,因为它是 (Float, MyClass)
而不是 (Float, AnyObject)
。
只需更改此:
let instance = MyClass()
进入:
let instance: AnyObject = MyClass()
它应该可以工作。
或者,您可以在创建元组时执行显式向下转换
array += [(number, instance as AnyObject)]
array.append((number, instance as AnyObject))