如何在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后就可以了。将人员设置为时nildeinit不调用该方法。

回答:

问题在于操场不是现实生活。这只是不使用它们的又一个原因(我认为,对于苹果公司而言,这是一个可怕的错误)。使用真实的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

回到顶部