Xcode Swift 自动完成显示错误的方法

Xcode Swift auto-complete shows wrong method

我有以下 类:

class FooClass<A,B>: NSObject {

    func foo(a: A, b: B) { } 

}

class BarClass: FooClass<Int, Bool> { 

    override func foo(a: A, b: B) { }        //AUTO-COMPLETE'S PREVIEW SHOWS THIS, BUT COMPILER COMPLAINS "USE OF UNDECLARED TYPE 'A'"

    override func foo(a: Int, b: Bool) { }   //AUTO-COMPLETE'S PREVIEW DOESN'T SHOW THIS, BUT COMPILER APPROVES

}

自动完成预览显示错误,因为编译器不喜欢它。我是否错误地声明了我的 类 之一,或者是否需要修复自动完成?

感谢@matt 对 OP 问题的解释。

当您在 BarClass 中覆盖 FooClass.foo 时,自动完成必须显示 foo(a: Int, b: Bool) 但它显示 foo(a: A, b: B) 这似乎是一个错误:

此外,当您不覆盖 BarClass 中的 FooClass.foo 并像 BarClass().foo 那样调用它时,自动完成也是错误的:

但是,如果您在 BarClass 中重写 FooClass.foo,那么自动完成是正确的: