ios - Swift:UIViewController 不会自动取消初始化

标签 ios swift uiviewcontroller dealloc deinit

我在 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/

相关文章:

ios - 有没有办法在不弄乱 AppDelegate 窗口的情况下查看另一个 UIViewController 后面的 UIViewController?

ios - 如何删除应用程序收件箱文件夹中导入的文件?

iphone - 制作自定义类的按钮触发父类

ios - 如何水平居中两个标签?

ios - 适用于 iOS 的 GoogleMaps SDK - SWIFT 3 : When hiding a marker and then adding the map view back, CPU 卡在 100%

ios - ViewController 没有名为 ""的成员

ios - 自定义 Storyboard Segue 在模拟器中有效,但在设备上无效

objective-c - 如何解决仍然为零的委托(delegate)

swift - 插入时不调用核心数据的自定义验证方法

ios - 在 UINavigationController 中,topViewController、visibleViewController、presentedViewController 之间有什么区别?