在 运行 时将应用程序启动到它关闭的最后一个视图

Launching an app into the last view it was closed while running

有人可以提供一种方法来启动一个可能已经退出或暂停的视图吗?例如

  1. 我启动应用程序。
  2. 在 a 中打开几个视图,最后在视图 4 中。
  3. 退出应用程序或进入后台模式。

我读到可以使用 NSUserDefaults,但我不确定如何使用。

您可以将视图保存在用户默认值中:

NSString *valueToSave = @"view4";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:@"lastView"];
[[NSUserDefaults standardUserDefaults] synchronize];

然后您可以在用户再次启动您的应用程序时从 userdefaults 加载最后一个视图(例如,在您的 startView 中的 ViewDidLoad)。

NSString *savedValue = [[NSUserDefaults standardUserDefaults]
    stringForKey:@"lastView"];

之后根据保存的值导航到视图。

请记住,您并没有真正保存视图或其他内容。您只需保存一个简短的字符串或值,让您知道要再次加载哪个视图。

Swift更新:

要保存最后一个视图:

let valueToSave = "view4"
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setValue(valueToSave, forKey: "lastView")
userDefaults.synchronize() 

以及应用重启后:

if let loadedView = userDefaults.valueForKey("lastView") {
    // load your view
}
else {
    // no last view saved
}