如何在iPhone中使用NSUserDefaults保存应用程序状态?
以下是我正在做的事情:如何在iPhone中使用NSUserDefaults保存应用程序状态?,iphone,nsuserdefaults,Iphone,Nsuserdefaults,以下是我正在做的事情: - (void) applicationWillTerminate: (UIApplication*) application { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:navigationController.viewControllers forKey:@"diabetesstate"]; } - (v
- (void) applicationWillTerminate: (UIApplication*) application {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:navigationController.viewControllers
forKey:@"diabetesstate"];
}
- (void) applicationDidFinishLaunching: (UIApplication*) application {
NSMutableArray *state = [[NSUserDefaults standardUserDefaults]
objectForKey:@"diabetesstate"];
if (state == nil) {
//Will initialize a new controller and put it as root view controller
}
else {
[navigationController setViewControllers:state animated:NO];
}
}
看起来您正在尝试将UIViewController添加到userdefaults?我怀疑那会起作用 我猜您必须在其中放入一些标识符字符串或数字,以告知当前显示的是哪个viewcontroller,并且当应用程序启动时,基本上检查该值并相应地设置viewcontroller
我需要为我的应用程序实现类似的东西。我有一个对象列表,当用户点击其中一个时,我会显示一个子对象。我的想法是,如果当前正在显示客户机对象,则存储该对象的ID,否则为NULL。当应用程序启动时,我将检查值。如果为空,我将显示父对象的列表,否则我将使用userdefaults中的ID显示子对象。是否有效?若否,原因为何?你期望代码做什么,它真正做什么?