如果您正在使用導航控制器,那麼你可以使用下面的代碼行,以節省您的應用程序狀態:
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