Swift 类型到无关类型协议

Swift 类型到无关类型协议,swift,types,protocols,Swift,Types,Protocols,我有一个协议和一个扩展该协议的类 public protocol P { } public class C: P { } print(C.self is P.Protocol) 请问为什么我在打印时将从'C.Type'转换为不相关的类型'p.Protocol'总是失败?检查是否将在您对类型C的实例执行此操作时起作用,即 let c = C() print(c is P) //true 你为什么还要这个?请解释上下文。如果您想检查类型doC.self是P.Type,但我不确定我是否理解其用

我有一个协议和一个扩展该协议的类

public protocol P {
}

public class C: P {
}

print(C.self is P.Protocol)

请问为什么我在打印时将
从'C.Type'转换为不相关的类型'p.Protocol'总是失败

检查
是否
将在您对类型
C
的实例执行此操作时起作用,即

let c = C()
print(c is P) //true

你为什么还要这个?请解释上下文。如果您想检查类型do
C.self是P.Type
,但我不确定我是否理解其用途,因此我不知道这是否对您有用