我怎样才能在ios中释放viewControllers

时间:2017-10-20 13:29:26

标签: ios uinavigationcontroller dealloc deinit

我制作了一些像Login -> Navigation Controller[Dashboard -> Detail]

这样的观看次序

在LoginViewController中,有一个登录按钮,它有Action

@IBAction func loginTapped(_ sender: Any){
    let mainNavigationController = storyboard?.instantiateViewController(withIdentifier: "MainNavigationViewController") as! MainNavigationViewController
    present(mainNavigationController, animated: true, completion: nil)
}

在NagivationController中

有两种观看,DashboardDetail

Detail视图由来自Dashboard

的segue操作推送

Dashboard标签栏要退出的项目

我知道在back button视图中点按Detail时,它不会取消分配Detail视图。它只是推回导航控制器的堆栈(是不是......?)

但是当我点击Dashboard中的退出按钮时,我认为应该取消分配包含两个视图(DashboardDetail)的导航控制器

但它没有解除分配。

我在导航视图控制器中设置了deinit方法,如下所示

deinit {
    print("Main Navigation View Controller is deinited")
}

但它从未调用

当我点击退出按钮

时,如何解除登录后显示的视图

很抱歉英语语法不好,因为我不是原生

0 个答案:

没有答案