在 运行 时将应用程序启动到它关闭的最后一个视图
Launching an app into the last view it was closed while running
有人可以提供一种方法来启动一个可能已经退出或暂停的视图吗?例如
- 我启动应用程序。
- 在 a 中打开几个视图,最后在视图 4 中。
- 退出应用程序或进入后台模式。
我读到可以使用 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
}
有人可以提供一种方法来启动一个可能已经退出或暂停的视图吗?例如
- 我启动应用程序。
- 在 a 中打开几个视图,最后在视图 4 中。
- 退出应用程序或进入后台模式。
我读到可以使用 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
}