应用 application 中保存和恢复数据 ,重写下面方法
- (BOOL) application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder{
NSLog(@"shouldSaveApplicationState");
return YES;
}
- (BOOL) application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder{
NSLog(@"shouldRestoreApplicationState");
return YES;
}
- (void)application:(UIApplication *)application willEncodeRestorableStateWithCoder:(NSCoder *)coder{
[coder encodeObject:@"appliaction_data" forKey:@"app_key"];
}
- (void)application:(UIApplication *)application didDecodeRestorableStateWithCoder:(NSCoder *)coder{
NSString *str = [coder decodeObjectForKey:@"app_key"];
NSLog(@"app--data--%@",str);
}
UIviewController 保存和恢复 , 实现
UIViewControllerRestoration 协议
//
// ViewController.m
// 书籍_退出应用数据的保存和恢复
//
// Created by 麦子 on 15/7/3.
// Copyright (c) 2015年 麦子. All rights reserved.
//
#import "ViewController.h"
#define MY_KEY @"myKey"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"view did load");
self.view.backgroundColor = [UIColor yellowColor];
self.restorationIdentifier = @"AnyIdentifier";
self.restorationClass = [self class];
}
+ (UIViewController *) viewControllerWithRestorationIdentifierPath:(NSArray *)identifierComponents coder:(NSCoder *)coder{
// 获取父类对象
if ([[self alloc] isKindOfClass:[UIViewController class]]) {
NSLog(@"UIViewController=====");
}
UIViewController *viewContro = [[self alloc] initWithNibName:nil bundle:nil];
return viewContro;
}
// 保存数据
- (void)encodeRestorableStateWithCoder:(NSCoder *)coderA{
[super encodeRestorableStateWithCoder:coderA];
[coderA encodeObject:@"myData" forKey:MY_KEY];
NSLog(@"保存数据");
}
// 恢复数据
- (void)decodeRestorableStateWithCoder:(NSCoder *)coderA{
[super decodeRestorableStateWithCoder:coderA];
NSString *data = [coderA decodeObjectForKey:MY_KEY];
NSLog(@"恢复数据---%@",data);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
恢复数据如下:
2015-07-03 17:55:06.528 书籍_退出应用数据的保存和恢复[1835:123914] shouldRestoreApplicationState
2015-07-03 17:55:06.529 书籍_退出应用数据的保存和恢复[1835:123914] UIViewController=====
2015-07-03 17:55:06.530 书籍_退出应用数据的保存和恢复[1835:123914] view did load
2015-07-03 17:55:06.530 书籍_退出应用数据的保存和恢复[1835:123914] 恢复数据---myData
2015-07-03 17:55:06.530 书籍_退出应用数据的保存和恢复[1835:123914] app--data--appliaction_data
2015-07-03 17:55:06.532 书籍_退出应用数据的保存和恢复[1835:123914] view did load