退出应用数据的保存和恢复

应用 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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值