iOS开发之归档(NSKeyedArchiver)和反归档(NSKeyedUnarchiver)

1:对foundation框架的对象进行归档
2:对自定义的对象进行归档
3:对自定义内容进行归档
注意:归档生成的文件是加密的
与属性列表相反,同样作为轻量级存储的持久化方案,数据归档是进行加密处理的,数据在经过归档处理会转换成二进制数据,所以安全性要远远高于属性列表

http://www.jianshu.com/p/bc76405adf95

1.自己写的demo 把对象归档成NSData然后存到NSUserDefaults中

https://gitee.com/623128690/codes/zofjqvu1atdm9in4rks3b54#3.pch.h

2.把归档存到沙盒里面去

http://www.mamicode.com/info-detail-1028111.html

//viewController.m文件中
 //获取沙盒中Documents文件夹路径
    NSString *documents =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject;
    NSString * documentPath =[documents stringByAppendingPathComponent:@"documentPath.person"];

  //归档
    Possession * person =[[Possession alloc]init];
    person.name =@"wangbin";
    person.age=22;
    person.height=178.9;
    [NSKeyedArchiver archiveRootObject:person toFile:documentPath];
    
    
    //反归档
    Possession *person1 =[NSKeyedUnarchiver unarchiveObjectWithFile:documentPath];
    NSLog(@"name=%@,age=%lu,height=%.2f",person1.name,person1.age,person1.height);
    NSLog(@"%@",documentPath);

3.两种不同的归档反归档

    [NSKeyedUnarchiver unarchiveObjectWithFile:<#(nonnull NSString *)#>];
    [NSKeyedUnarchiver unarchiveObjectWithData:<#(nonnull NSData *)#>];
    
    
    [NSKeyedArchiver archiveRootObject:<#(nonnull id)#> toFile:<#(nonnull NSString *)#>]
    [NSKeyedArchiver archivedDataWithRootObject:<#(nonnull id)#>];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。