Swift:声明'description'不能覆盖多个超类声明

iva*_*982 10 clang swift

我有一个类似于下面的继承结构.我正在采用Printable协议并努力覆盖描述属性.我遇到了一个奇怪的错误,Google目前似乎不知道这个错误,提示是第三类,并引用了Second和First类.

为了增加对伤害的侮辱,下面的代码实际编译得很好,但我的完整代码没有.在第二和第三方面评论属性解决了问题和代码编译,测试通过等.

Swift继承章节提供了对此的指示.

有谁知道这意味着什么以及在哪种情况下触发它?

/Users/ivanhoe/Dropbox/swift/convergence/Processable.swift:124:18:错误:声明'描述'不能覆盖多个超类声明覆盖var description:String {^/Users/ivanhoe/Dropbox/swift/convergence/Processable.swift:85:18:注意:重写声明在这里覆盖var description:String {^ /Users/ivanhoe/Dropbox/swift/convergence/Processable.swift:28:18:注意:重写声明在这里覆盖变量描述:字符串{

import Foundation

class First : NSObject, Printable {

    override var description : String {
        return "first"
    }
}

class Second : First {

    override var description : String {
        return "second"
    }

}

class Third : Second {

    override var description : String {
        return "third"
    }

}

println(Third())
Run Code Online (Sandbox Code Playgroud)

iiF*_*man 13

对我来说同样的问题,通过这样做解决:

func customDescription() -> String {
    return ""
}

override var description: String {
    return customDescription()
}
Run Code Online (Sandbox Code Playgroud)

所以你可以根据需要多次覆盖函数