我在 UIViewController 中添加了以下代码:
deinit {
print("DEINIT")
}
然后我使用了下面的代码:
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let nextViewController = storyBoard.instantiateViewControllerWithIdentifier("newViewController") as! MultiGameView
self.presentViewController(nextViewController, animated:true, completion:nil)
但是 View Controller 的 deinit 没有发生,我在这里缺少什么?
我的问题是,当我回到主视图 Controller ,然后再次回到 newViewController 时,newViewController 还没有被 deinit,所以他的属性和变量也保持原样......
最佳答案
此时你的 View Controller 根本没有被取消初始化。您的新 View Controller 将呈现在“其之上”。
关于ios - Swift:UIViewController 不会自动取消初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33588340/