我有一个类似于下面的继承结构.我正在采用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)
所以你可以根据需要多次覆盖函数