gpt4 book ai didi

ios - 如何在 Swift 中加载初始 View Controller ?

转载 作者:行者123 更新时间:2023-11-28 10:02:08 26 4
gpt4 key购买 nike

我正在为基于用户名-密码 的系统开发应用程序。我的初始 View Controller 名为 LoginPageViewController .如果用户登录成功,一个名为 MyNavigationController 的导航 Controller 已加载。除 LoginPageViewController 之外的所有 View Controller 通过我在这里找到的侧面菜单访问:Side Menu LibraryMyNavigationController的帮助下.

我的侧边菜单的 View 设置在 MyMenuTableViewController 中描述。如果选择了任何表项,则从 MyMenuTableViewController 加载相关的 View Controller .问题是,我还在侧边菜单(或菜单表,无论你叫什么)中添加了“注销”项,如果选择了此项,它会向服务器发出一个HTTP POST 请求以注销并且应该加载 LoginPageViewController这是我的初始 View Controller (未嵌入 MyNavigationControlelr 中)。

问题是,尽管注销请求已成功处理,但我在加载初始 View Controller (LoginPageViewController) 时遇到了问题。

当我在选择注销时尝试这样做:

self.presentViewController(destViewController, animated: true, completion: nil)

LoginPageViewController 正在加载,但我收到如下消息:2014-10-30 16:59:26.038 iOpsGenie[2973:66509] Presenting view controllers on detached view controllers is discouraged <iOpsGenie.MyMenuTableViewController: 0x7f85e8fc3f10>.
如果我点击登录页面上的任何地方,我的 View 就会消失,只剩下一个白色的屏幕。

然后我尝试实现一个方法

 func resetAppToFirstController() {
self.window?.rootViewController = LoginPageViewController(nibName: nil, bundle: nil)
}

AppDelegate.swift 中并在选择注销项时调用它:

let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
appDelegate.resetAppToFirstController()

然后我在 LoginPageViewController 的 viewDidLoad 函数的第二行出现错误,例如:

fatal error: unexpectedly found nil while unwrapping an Optional value

我知道这是一个很长的问题。我可能被算作 Swift 和 iOS 编程的新手,我试图陈述问题以防止无关紧要的 react 。我真的很想知道我错过了什么。

最好的问候

最佳答案

我通过将 resetAppToFirstController 方法更改为:

解决了这个问题
self.window?.rootViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier(PageNames.LOGIN_PAGE) as LoginPageViewController

并在单击“注销”时触发以下代码:

let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
appDelegate.resetAppToFirstController()

但是,我不知道为什么会这样。任何一点解释都会很棒。

关于ios - 如何在 Swift 中加载初始 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26656696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com