2016-03-23 43 views
0

我在尋找的是一種機制,可以防止我的應用程序在每次應用程序獲取後臺或不活動時重置爲根視圖控制器。有許多應用程序,這樣的運作方式,即Instagram,易趣等applicationDidBecomeActive保持登錄狀態與instagram類似

我的直覺告訴我最初要捅入AppDelegate的applicationWillEnterForeground方法,在那裏我會嘗試呈現我以後的viewcontroller,但是當我實例化viewController,我可以展示它,但沒有通常在那裏的導航控制器。

這讓我覺得我需要保存應用程序的「狀態」(可能是NavigationController的堆棧?),然後在重新啓動時以某種方式恢復堆棧。

我看過每個事件的執行時間,並注意關閉應用程序並重新啓動它將啓動應用程序。我假設我的NSUserDefaults仍然存在,因此可以檢查登錄的用戶。這可以幫助確定導航控制器中推送到哪個視圖(登錄或儀表板)。

任何方向不勝感激。


這則訊息的最明顯的答案是爲了跨應用存儲持久性數據使用一些存儲(NSUserDefaults的)的。

對於我的具體情況,這是存儲密鑰持有用戶信息。然後,當應用程序加載時,會出現第一個視圖,但如果缺少該鍵,將以模態方式在其前面提取登錄視圖。

回答

0

爲此,我會使用NSUserDefaults來存儲應用程序的當前視圖,然後在應用程序完成啓動時切換到該視圖。看到這個問題的答案:Swift: How to store user preferences?

+0

好吧,所以我知道如何保存這些偏好,我會保存哪個視圖?以及如何確保當它再次變爲活動狀態時,它也將在包含它的navigationController中加載,並且不會在沒有導航欄/標籤欄的情況下自行顯示? – Neurax