我正在開發一個基於用戶名密碼的系統的應用程序。我的初始視圖控制器被命名爲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