Ios 不调用self.dismissViewController而关闭视图控制器的替代方法

Ios 不调用self.dismissViewController而关闭视图控制器的替代方法,ios,swift,xcode,uiviewcontroller,Ios,Swift,Xcode,Uiviewcontroller,是否可以在不调用self.dismissViewControllerAnimated的情况下关闭(和取消分配)视图控制器(最好是Swift) 我尝试了以下方法,但实际上没有成功: let loginVC = self.storyboard?.instantiateViewControllerWithIdentifier("LoginVC") as! LoginVC self.presentViewController(loginVC, animated: true) { //self.r

是否可以在不调用self.dismissViewControllerAnimated的情况下关闭(和取消分配)视图控制器(最好是Swift)

我尝试了以下方法,但实际上没有成功:

let loginVC = self.storyboard?.instantiateViewControllerWithIdentifier("LoginVC") as! LoginVC
self.presentViewController(loginVC, animated: true) {
    //self.removeFromParentViewController()
    self.tabBarController!.removeFromParentViewController()
}

在iOS应用程序中,我在注销时重置应用程序窗口的根视图控制器。这样做将从内存中删除所有以前的视图控制器,并显示您的loginVC。以下是swift中的一个示例:

let mainStoryBoard = UIStoryboard(name: "Main", bundle: nil)
let loginVC =   mainStoryBoard.instantiateViewControllerWithIdentifier("LoginVC") as! LoginVC
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.window?.rootViewController = loginVC

dismissViewController:animated
应用于解除显示有
presentViewController:animated:completion:
的视图控制器


类似地,
popViewControllerAnimated:
UINavigationController的方法用于弹出显示为
pushViewController:animated

的视图控制器。我可以问一下,为什么您不想调用
dismissViewController
?调用
presentViewController
后,按逻辑可以将其关闭。如果您不想要动画,您可以始终传递
animated:false
。尝试
poptrootviewcontroller
poptoviewcontroller
,因为只有当用户以前使用过应用程序时,我才有一个作为根视图控制器的loginVC。否则它就是我的TabVC。因此,如果用户之前使用过该应用程序并按下了注销按钮,dismissViewController代码将不起作用,因为rootVC不是我的登录屏幕(它将是我的tabVC)。为什么将rootViewController设置为loginVC会从内存中删除所有其他VC?还有一个愚蠢的问题,我如何检查VC的内存?感谢您正在从内存中删除它们,因为您正在删除当前应用程序窗口层次结构并设置新的根。如果这很难理解,请将应用程序窗口视为导航控制器。您要做的是删除导航控制器中的每个控制器并设置一个新的根。这将强制其他所有控制器取消分配。要检查内存中的内容,请执行产品->配置文件。然后,当仪表面板出现时,选择分配选项。当你正在使用你的应用程序时,你可以搜索你的VC并确保它已被删除。我正在应用上面的推送代码,但我希望pop表示后视图控制器我该怎么做。。