我正在制作一个简单的事实应用程序(很快),所有事实都在单独的视图控制器中,当用户关闭该应用程序时,所有内容都进入主页,您必须从事实1重新开始。
我想知道如何保存用户在关闭视图控制器时使用的视图控制器,并且当他们再次通过事实继续操作时,它将从该事实开始。谢谢:)如果有人制作视频,我认为它将获得足够的观看次数来启动YouTube频道
已更新为Swift 5
您可以使用UserDefaults
,它会记住您的上一个ViewController
。
首先,在加载如下所示的任何视图时,必须存储一些整数:
FirstView.swift
override func viewDidLoad() {
super.viewDidLoad()
UserDefaults.standard.setValue(0, forKey: "View")
// Do any additional setup after loading the view, typically from a nib.
}
SecondViewController.swift
override func viewDidLoad() {
super.viewDidLoad()
UserDefaults.standard.setValue(1, forKey: "View")
// Do any additional setup after loading the view.
}
现在在您的AppDelegate.swift中读取存储的值,并以这种方式加载与该Integer相关的ViewController:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let viewCount = UserDefaults.standard.integer(forKey: "View")
var VC = UIViewController()
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
println(viewCount)
if viewCount == 0 {
//FirstView should initiate
VC = storyboard.instantiateViewController(withIdentifier: "First") as! ViewController
} else if viewCount == 1 {
//SecondView should inititate
VC = storyboard.instantiateViewController(withIdentifier: "Second") as! SecondViewController
} else {
//ThirdView Should Initiate
VC = storyboard.instantiateViewController(withIdentifier: "Third") as! ThirdViewController
}
self.window?.makeKeyAndVisible()
self.window?.rootViewController = VC
return true
}
[查看THIS示例项目以获取更多信息。