【发布时间】:2018-06-08 06:16:11
【问题描述】:
我在向扩展添加新的协议一致性时遇到编译器错误。
struct EquatableStruct { }
extension EquatableStruct: Equatable {
static func == (lhs: EquatableStruct, rhs: EquatableStruct) -> Bool {
return true
}
}
这里出现编译器错误:
Implementation of 'Equatable' cannot be automatically synthesized in an extension
我该如何解决这个问题?
【问题讨论】:
-
你为什么完全改变了你的问题?它使现有答案毫无意义,并且您更新的代码实际上不会产生您发布的错误。
-
相同问题不同协议
-
不,新代码不会导致任何错误。而且你已经让我的答案过时了。
-
你的答案不是我想要的。我知道
Comparable扩展自Equatable。即使我向Equatable确认,我也会遇到同样的错误。这里没有错误引用。我需要知道我收到我引用的错误的原因。 -
您问题中的最新代码没有给出任何错误。我将您的确切代码复制并粘贴到 Xcode 9.4 (Swift 4.1) 游乐场中,在向结构添加一个虚拟属性后它编译得很好。您发布的原始代码确实有问题,并且如我的回答所示已解决。
标签: swift protocols swift-protocols swift-extensions