【发布时间】:2014-06-03 15:56:10
【问题描述】:
假设我有两个类:基类和子类,如下所示:
class Base{
var name: String?
init() {
name = "The base class"
}
deinit {
println("call Deinitialization in base class")
name = nil
}
}
class Sub: Base{
var subName: String?
init() {
super.init()
subName = "The sub class"
}
deinit {
println("call Deinitialization in sub class")
subName = nil
// does it really call super.deinit() ?
// or assign name = nil ?
}
}
当调用子类的deinitializer时,是否调用super.deinit()给name变量赋值nil?或者我必须在子类的反初始化器中手动分配?
【问题讨论】:
标签: inheritance swift