我正在开发一个基于用户名密码的系统的应用程序。我的初始视图控制器被命名为LoginPageViewController
。如果用户成功登录,则加载名为MyNavigationController
的导航控制器。除LoginPageViewController
之外的所有视图控制器都可以通过我在此处找到的侧边菜单访问:Side Menu Library在MyNavigationController
的帮助下。如何在Swift中加载初始视图控制器?
我的侧边菜单的视图设置在MyMenuTableViewController
中描述,如果选择了任何表项,则从MyMenuTableViewController
加载相关视图控制器。问题是,我还在我的侧面菜单(或菜单表,无论您称之为什么)中添加了“注销”项目,并且如果选择此项目,它会向服务器请求注销HTTP POST,并应加载LoginPageViewController
这是我的初始视图控制器(它不嵌入MyNavigationControlelr
)。
问题是,虽然注销请求处理成功,但我在加载初始视图控制器(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>.
,如果我点击登录页面的任何地方,我的视野中消失,只有白色屏幕被留下。
然后我试图在实施方法
func resetAppToFirstController() {
self.window?.rootViewController = LoginPageViewController(nibName: nil, bundle: nil)
}
AppDelegate.swift并调用它时,被选择的项注销:
let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
appDelegate.resetAppToFirstController()
然后我在viewDidLoad中的第二行的错误LoginPageViewController的功能如:
fatal error: unexpectedly found nil while unwrapping an Optional value
我知道这成了一个很长的问题。我可能被视为Swift和iOS编程的新手,我试图说明问题以防止无关紧要的响应。我真的很想知道我错过了什么。
self.window?.rootViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier(PageNames.LOGIN_PAGE) as LoginPageViewController
和烧成点击注销时,下面的代码:
问候
当实例在resetApp的LoginPageVC(),你应该传递厦门国际银行的名字,而不是零的第一个参数。 Swift没有像Objective-C那样找到与VC相同名称的笔尖。 – JMFR 2014-10-30 16:00:07