如何在Swift中调用deinit
我编写了如下代码块:
class Person{ let name:String;
init(name:String){
self.name = name;
println("\(name) is being initialized.");
}
deinit{
println("\(name) is being deInitialized.");
}
}
var person:Person?;
person = Person(name:"leo");
person = nil;
初始化print
后就可以了。将人员设置为时nil
,deinit
不调用该方法。
回答:
问题在于操场不是现实生活。这只是不使用它们的又一个原因(我认为,对于苹果公司而言,这是一个可怕的错误)。使用真实的iOS应用项目,deinit
将按预期方式调用。
来自真实项目的示例:
class ViewController: UIViewController { class Person{
let name:String;
init(name:String){
self.name = name;
println("\(name) is being initialized.");
}
deinit{
println("\(name) is being deInitialized.");
}
}
override func viewDidLoad() {
super.viewDidLoad()
var person:Person?;
person = Person(name:"leo");
person = nil;
}
}
这就是您期望的。
以上是 如何在Swift中调用deinit 的全部内容, 来源链接: utcz.com/qa/427932.html