- 解档
//AppDelegate.m @synthesize window=_window; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSString* gameArchivePath = [self gameArchivePath]; OneGame* existingGame; @try { existingGame = [[NSKeyedUnarchiver unarchiveObjectWithFile:gameArchivePath] retain]; } @catch (NSException *exception) { existingGame = nil; } [gameController setPreviousGame:existingGame]; [existingGame release]; //设置为主窗口并显示出来 [self.window makeKeyAndVisible]; return YES; } //GameController.m -(void)setPreviousGame:(OneGame*)aOneGame{ previousGame = [aOneGame retain]; if (previousGame != nil && [previousGame remaingTurns] > 0){ [continueButton setHidden:NO]; } else { [continueButton setHidden:YES]; } }
- 存档
//AppDelegate.m //进入后台游戏存档 - (void)applicationDidEnterBackground:(UIApplication *)application { NSString* gameArchivePath = [self gameArchivePath]; [NSKeyedArchiver archiveRootObject:[gameController currentGame] toFile: gameArchivePath]; }