
在每个子控制器中,我有一个注销按钮.我想知道如果我可以有一个单一的功能,我可以打电话,将关闭所有已经打开的控制器,无论当用户按下注销时,当前打开什么控制器?
我的基本开始:
func trylogout(){ self.dismissVIEwControllerAnimated(true,completion: nil) let navigationController = UINavigationController(rootVIEwController: UIStoryboard(name: "Main",bundle: nil).instantiateVIEwControllerWithIDentifIEr("LoginVIEwController") ) self.presentVIEwController(navigationController,animated: true,completion: nil)} 我正在寻找执行这项任务的最高记忆效率的方式.我将我的注销功能放在一个单独的utils文件中,但是我不能使用self.而且我还有一个问题,即知道哪些控制器动态地关闭.
任何帮助谢谢!
更新
已经建议d出到根视图控制器.所以我的尝试是这样的:
func trylogout(VIEwController : UIVIEwController){ print("do something") dispatch_async(dispatch_get_main_queue(),{ VIEwController.navigationController?.popToRootVIEwControllerAnimated(true) return }) } 这将是实现我以后的最佳方式吗?
解决方法 你可以拨打:self.vIEw.window!.rootVIEwController?.dismissVIEwControllerAnimated(false,completion: nil)
应该将根视图控制器上的所有视图控制器关闭.
总结以上是内存溢出为你收集整理的ios – 单一功能来解除所有打开的视图控制器全部内容,希望文章能够帮你解决ios – 单一功能来解除所有打开的视图控制器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)