在我的简化示例中,我得到了错误:Cannot convert value of type 'Foo' to expected argument type BaseItem<Any>
但是类扩展了类。
这是示例代码:

class BaseItem<T> {
    var param: T?
}

class Foo: BaseItem<Int> {
}

func checkItem(item: BaseItem<Any>) -> Bool{
    return item.param  != nil;
}

打电话时出错
checkItem(item: Foo())

我错过了什么?

最佳答案

您还需要根据泛型定义您的checkItem函数:

func checkItem<T>(item: BaseItem<T>) -> Bool {
    return item.param != nil
 }

10-07 21:53