热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RootViewController和unwindsegues?-RootViewControllerandunwindsegues?

Ihave3ViewControllers:1)LoginViewController.2)MainViewController.3)LogoutViewController.我

I have 3 View Controllers: 1) LoginViewController. 2) MainViewController. 3) LogoutViewController.

我有3个视图控制器:1)LoginViewController。 2)MainViewController。 3)LogoutViewController。

I am using NSUserDefaults to store the username when he login from LoginViewController.

我从LoginViewController登录时使用NSUserDefaults来存储用户名。

Then in the AppDelegate I use this method:

然后在AppDelegate中我使用这个方法:

    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let UserData = NSUserDefaults.standardUserDefaults()
    if (UserData.stringForKey("Username") != nil) {
        let initialViewCOntroller= storyboard.instantiateViewControllerWithIdentifier("MainViewController") as! MainViewController
        self.window?.rootViewCOntroller= initialViewController
    } else {
        let initialViewCOntroller= storyboard.instantiateViewControllerWithIdentifier("LoginViewController") as! LoginViewController
        self.window?.rootViewCOntroller= initialViewController
    }

So, When there is Username stored in the NSUserDefaults, the app jump to Main View Controller and skip the first at App launch.

因此,当NSUserDefaults中存储了用户名时,应用程序将跳转到主视图控制器并跳过应用程序启动时的第一个。

in the LogoutViewController I used unwind segue to LoginViewController, meaning that I have a logout button and I used unwind segue to go to the LoginViewController. That works fine when the app starts from LoginViewController but not from MainViewController.

在LogoutViewController中我使用unwind segue到LoginViewController,这意味着我有一个注销按钮,我使用unwind segue转到LoginViewController。当应用程序从LoginViewController启动而不是从MainViewController启动时,这工作正常。

However, I want the to go to LoginViewController when Logout Button Pressed whether it starts from LoginViewController or MainViewController and release all other ViewControllers from memory. How can it be?

但是,我想在Logout Button Pressed时转到LoginViewController,无论它是从LoginViewController还是MainViewController启动,并从内存中释放所有其他ViewControllers。怎么会这样?

2 个解决方案

#1


1  

You need to set the LoginViewController as rootViewController on logout instead of unwinding the segue.

您需要在注销时将LoginViewController设置为rootViewController,而不是展开segue。

let initialViewCOntroller= storyboard.instantiateViewControllerWithIdentifier("LoginViewController") as! LoginViewController
UIApplication.sharedApplication().keyWindow?.rootViewCOntroller= initialViewController

#2


0  

In your case LoginViewController as root view is called first when app is launched. So when you log-out, you should pop to root view controller

在您的情况下,在启动应用程序时首先调用LoginViewController作为根视图。因此,当您注销时,您应该弹出到根视图控制器


推荐阅读
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 本文介绍了MVP架构模式及其在国庆技术博客中的应用。MVP架构模式是一种演变自MVC架构的新模式,其中View和Model之间的通信通过Presenter进行。相比MVC架构,MVP架构将交互逻辑放在Presenter内部,而View直接从Model中读取数据而不是通过Controller。本文还探讨了MVP架构在国庆技术博客中的具体应用。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
author-avatar
天蝎完美_主义
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有