[英]Saving state of application in ios using Swift
我的應用程序中有四個viewControllers。 現在假設用戶當前在第二個viewController上,並且He終止了應用程序。
現在如何保存此狀態,以便在用戶重新打開應用程序時,他應該看到第二個viewContoller,並且還應該能夠導航回第一個viewContoller。
我想到的解決方案是將當前屏幕的變量簡單地保存在userDefaults中,然后將該viewController設置為rootViewController。 但是我知道這不是正確的解決方案,我也會失去導航。 請指導我,謝謝。
如果還沒有,請創建一個名為BaseViewController的類,該類應從所有UIViewControllers擴展:
class BaseViewController: UIViewController {
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
// always remember last controller shown
NSUserDefaults.standardUserDefaults.setObject(classForCoder(), forKey: "lastController")
}
}
您可以保存控制器類名稱,一個int標識符或您想要的東西。 然后,在應用程序啟動時的應用程序委托中,您可以讀取此值並進行自定義邏輯以打開正確的控制器。
if NSUserDefaults.standardUserDefaults().stringForKey("lastController") == MyCustomViewController.classForCoder() {
// open MyCustomViewController
}
然后,當用戶返回時,根據您的應用程序流程重定向到正確的UIViewController。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.