protocol Car {
static func foo()
}
struct Truck : Car {
}
extension Car {
static func foo() {
print("bar")
}
}
Car.foo() // Does not work
// Error: Car does not have a member named foo
Truck.foo() // Works
Xcode 自动完成Car.foo()
正确,所以我要问的是它是否是一个无法编译的错误(说它没有名为 foo() 的成员)。如果它们是在协议扩展中定义的,您可以直接在协议上调用静态方法吗?