gpt4 book ai didi

swift - 向协议(protocol)变量添加两个约束

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:35 25 4
gpt4 key购买 nike

我有以下 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
}

我想做的是向 var "props"添加两个类型约束:A 作为协议(protocol)的一部分 BA2 作为协议(protocol) C 的一部分。

当我尝试在结构 C 中实现这些协议(protocol)时,编译器认为它无效

最佳答案

如果我理解正确,您需要 struct Yo 中的 var props符合两个协议(protocol)

您可以简单地使用:

public protocol A {}
public protocol A2 {}

struct D : A,A2 {
}

struct Yo {
var props: D
}

我不明白你为什么需要协议(protocol) C 和 B,因为它们为结构 Yo 而不是 var props 添加了约束

关于swift - 向协议(protocol)变量添加两个约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38884020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com