我有以下swit代码,我无法让它编译
public protocol A {}
public protocol A2 {}
public protocol B {
var props: A { get }
}
public protocol C : B {
var props: A2 { get }
}
struct D : A,A2 {
}
struct Yo : C {
var props: D
}
Run Code Online (Sandbox Code Playgroud)
我要做的是将两个类型约束添加到var"props"中:A作为协议的一部分B和A2作为协议的一部分C.
当我尝试在结构中实现这些协议时,C编译器不会将其视为有效
如果我理解正确的话,你var props需要struct Yo遵守两个协议。
您可以简单地通过以下方式执行此操作:
public protocol A {}
public protocol A2 {}
struct D : A,A2 {
}
struct Yo {
var props: D
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么你需要协议 C 和 B,因为它们为 struct Yo 而不是 var props 添加了约束
| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |