gpt4 book ai didi

xcode - 冗余一致性错误消息 Swift 2

转载 作者:行者123 更新时间:2023-11-30 12:09:39 30 4
gpt4 key购买 nike

我将我的项目更新到了 Swift 2,并收到了一堆 redundant conformance of XXX to protocol YYY 。当类符合 CustomStringConvertible 时,这种情况尤其经常(或总是)发生。 。还有一些地方有 Equatable .

class GraphFeatureNumbersetRange: GraphFeature, CustomStringConvertible { // <--- get the error here
...
}

我怀疑当我实现var description: String { get }时我不需要显式地遵守协议(protocol)。 ,或协议(protocol)要求的任何方法。我应该按照修复说明并删除所有这些吗?如果一个类实现了协议(protocol)的所有方法,Swift 现在会自动推断一致性吗?

最佳答案

如果子类声明了一致性,您将在 Xcode 7 (Swift 2) 中收到该错误消息到已经从父类(super class)继承的协议(protocol)。示例:

class MyClass : CustomStringConvertible {
var description: String { return "MyClass" }
}

class Subclass : MyClass, CustomStringConvertible {
override var description: String { return "Subclass" }
}

错误日志显示:

main.swift:10:27: error: redundant conformance of 'Subclass' to protocol 'CustomStringConvertible'class Subclass : MyClass, CustomStringConvertible {                          ^main.swift:10:7: note: 'Subclass' inherits conformance to protocol 'CustomStringConvertible' from superclass hereclass Subclass : MyClass, CustomStringConvertible {      ^

Removing the protocol conformance from the subclass declarationsolves the problem:

class Subclass : MyClass {
override var description: String { return "Subclass" }
}

但是父类(super class)必须明确声明一致性,它是不会自动从 description 的存在中推断出来属性。

关于xcode - 冗余一致性错误消息 Swift 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46235117/

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