gpt4 book ai didi

具有关联类型的 Swift 协议(protocol)数组

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

<分区>

我有第一个协议(protocol)

protocol Prot1
{

}

第二个:

protocol Prot2
{
associatedtype P: Prot1

func doSomething(param: P)
}

我怎样才能创建一个类型为 Prot2 的数组?

我试过:

var myArray = [Prot2]()

但它给我这个错误:Protocol Prot2 can only be used as a generic constraint because it has Self or associated type requirements

还有其他方法可以制作模板协议(protocol)吗?

编辑:

对不起,如果我迟到了,但我正在测试解决方案。据我了解类型删除

AnyProt2<Prot1Type: Prot1>: Prot2

让我有一个数组

[AnyProt2<Prot1Class>] 

但我要求的是一个可以包含各种 AnyProt2 的数组,例如:

[AnyProt2] or [AnyProt2<Prot1>]

我尝试了第二个,但它给了我:

Using 'Prot1' as a concrete type conforming to protocol 'Prot1' is not supported.

在我的上下文中,Prot1 是间隔,Prot2 是一个事件,所以我想拥有不同种类的事件,这些事件可能有不同种类的间隔。我还想问一下是否可以让Prot1扩展Equatable并确认AnyProt2中的协议(protocol)。

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