2016-10-31 197 views
0

在我們的AppDelegate中的應用方法,我們所訪問的根視圖控制器:成功登錄後,我們重定向到根視圖控制器訪問根視圖控制器啓動

let splitViewController = self.window!.rootViewController as! UISplitViewController 
.... set variables on splitViewController 

然後:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let controller = storyboard.instantiateViewController(withIdentifier: "Home") as UIViewController 
self.present(controller, animated: true, completion: nil) 

但似乎這個登錄過程消除了在步驟#a中設置的變量。大概如步驟#b中我們正在重新創建控制器。我們如何在不清除在#a中設置的變量的情況下重定向?

+0

這意味着你想在登錄成功時更改根視圖控制器? –

+0

我只想在啓動時初始化根視圖控制器。然後在登錄後重定向到它。 –

+0

如果它的rootViewcontroller爲什麼你需要重定向..因爲你正在訪問splitViewController作爲rootViewController,我認爲它的設置在storyboard.App啓動時加載splitViewController .. –

回答

0

我們按照需要切換根視圖控制器的方法。我們啓動應用程序,如果用戶沒有登錄,我們將根設置爲LoginViewController。登錄後,我們將根設置回UISplitViewController。解決方案是從https://stackoverflow.com/a/25979945/47281