如果您正在使用导航控制器,那么你可以使用下面的代码行,以节省您的应用程序状态:
NSMutableArray *listOfClasses = [[NSMutableArray alloc] init];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults removeObjectForKey:@"ViewControllers"];
NSArray *controllers = [_navController viewControllers];
for(UIViewController *VC in controllers)
[listOfClasses addObject:[NSString stringWithFormat:@"%@",[VC class]]];
[defaults setObject:listOfClasses
forKey:@"ViewControllers"];
[defaults synchronize];
在终止应用程序的时间背景 没有进入,您可以用这些线代码来恢复您的应用程序:
NSArray *classes = [[NSUserDefaults standardUserDefaults] objectForKey:@"ViewControllers"];
if(classes != nil) {
for(NSString *class in classes) {
if([class isEqualToString:@"FirstViewController"]) {
FirstViewController *viewController = [[FirstViewController alloc] init];
[controllers addObject:viewController];
[viewController release];
} else if([class isEqualToString:@"SecondViewController"]) {
SecondViewController *viewController = [[SecondViewController alloc] init];
[controllers addObject:viewController];
[viewController release];
} else if([class isEqualToString:@"ThirdViewController"]) {
ThirdViewController *viewController = [[ThirdViewController alloc] init];
[controllers addObject:viewController];
[viewController release];
} else {
}
}
}
在应用做加载完成
这里有一个非常有效的关注,但辛格的时间我们不应该谈论如何4。0的作品是NDA的B/C,你应该在苹果开发者论坛上提问。 – bpapa 2010-04-21 15:46:51
就我所知,这个问题已被正确回答了三次。请接受其中一个答案,或让我们知道为什么不。谢谢。 – prendio2 2010-05-11 04:57:01