类型转为无关类型协议

问题描述 投票:3回答:1

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

public protocol P {
}

public class C: P {
}

print(C.self is P.Protocol)

请为什么我得到 Cast from 'C.Type' to unrelated type 'P.Protocol' always fails 打印的时候,为什么会出现这样的情况?

swift types protocols
1个回答
1
投票

检查 is 类型的实例时,就会成功。C

let c = C()
print(c is P) //true
© www.soinside.com 2019 - 2024. All rights reserved.