【发布时间】:2015-06-16 12:43:49
【问题描述】:
我将我的项目更新到 Swift 2,并收到了一堆 redundant conformance of XXX to protocol YYY。当类符合CustomStringConvertible 时,这种情况尤其经常(或总是)发生。还有Equatable的地方。
class GraphFeatureNumbersetRange: GraphFeature, CustomStringConvertible { // <--- get the error here
...
}
我怀疑当我实现var description: String { get } 或协议要求的任何方法时,我不需要显式地遵守协议。我应该按照 fixit 说明并删除所有这些吗?如果一个类实现了协议的所有方法,Swift 现在会自动推断一致性吗?
【问题讨论】:
-
“我怀疑我不需要明确遵守协议”……这是不正确的。如果你想与一个协议交互,你必须明确地遵守它。 “我应该按照 fixit 说明进行操作吗?” 您需要为您的问题添加更多详细信息,以便我们重现该问题。 “如果一个类实现了协议的所有方法,Swift 现在会自动推断一致性吗?” 不会。
-
@0x7fffffff
CustomStringConvertible是 Swift 2 中的新协议 - see here。不确定GraphFeature。 -
@AaronBrager:不是很新,只是从
Printable重命名。