gpt4 book ai didi

swift - "Protocol ... can only be used as a generic constraint because it has Self or associated type requirements"是什么意思?

转载 作者:IT王子 更新时间:2023-10-29 04:56:01 25 4
gpt4 key购买 nike

我正在尝试创建一个以 Swift 中的自定义协议(protocol)为键的字典(实际上是一个 HashSet ),但它在标题中给出了错误:

Protocol 'myProtocol' can only be used as a generic constraint because it has Self or associated type requirements

而且我无法理解它的正反面。

protocol Observing: Hashable { }

var observers = HashSet<Observing>()

最佳答案

协议(protocol) Observing 继承自协议(protocol) Hashable,后者又继承自协议(protocol) EquatableEquatable 协议(protocol)具有以下要求:

func ==(lhs: Self, rhs: Self) -> Bool

并且在其中某处包含Self 的协议(protocol)不能在除类型约束之外的任何地方使用。

Here是一个类似的问题。

关于swift - "Protocol ... can only be used as a generic constraint because it has Self or associated type requirements"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24926310/

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