美文网首页
iOS 归档

iOS 归档

作者: 冰点雨 | 来源:发表于2020-10-29 16:35 被阅读0次

写入数据

//1.文件路径    
    NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"info.plist"];       
//1. 有个对象
    Student *student = [[Student alloc]init];
    student.name = @"11";    
    student.age = 10;          
//2.存储  归档    
    [NSKeyedArchiver archiveRootObject:student toFile:path];

读取数据

  NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"info.plist"];       
//反归档 ,解档
    Student *p = [NSKeyedUnarchiver unarchiveObjectWithFile:path];

注意:
如果使用归档

  1. 该对象必须遵守NSCoding 协议 编码协议
  2. 实现 encodeWithCoder方法
  3. 实现:initWIthCoder方法

实现<NSCoding>协议方法

- (void)encodeWithCoder:(NSCoder *)coder{
   [coder encodeObject:self.name forKey:@"name"];
   [coder encodeInteger:self.age forKey:@"age"];
   
}
//反归档只是个过程, 告诉系统你读取的时候,想让别人读取哪些属性
- (instancetype)initWithCoder:(NSCoder *)decoder{
    if (self = [super init]) {
        self.name = [decoder decodeObjectForKey:@"name"];
        self.age  = [decoder decodeIntegerForKey:@"age"];
     }
     return self;
}

相关文章

  • 2021-08-20

    iOS swift NSKeyedArchiver 使用 iOS 中swift的归档与解挡 归档: 将对象按照一定...

  • ios中Swift的归档与解档

    ios中Swift的归档与解档 归档 解档 init()方法 设置属性

  • iOS NSKeyedArchiver数据归档

    iOS中利用NSKeyedArchiver和NSKeyedUnarchiver进行数据的归档和解档操作。 归档 所...

  • iOS归档总结

    iOS归档总结,高效开发,欢迎star

  • iOS对象归档

    终结一下iOS的对象归档问题. 1:这个对象为什么需要归档 2:使用归档的时候需要注意什么 3:归档以后写进本地,...

  • iOS 归档和解归档

    归档与解档是IOS中一种序列化与反序列化的方式。对象要实现序列化需要遵循NSCoding协议,而绝大多数Found...

  • 归档-解归档

    归档-解归档 在iOS开发中,数据持久化方法很多,比如:SQL、KeyChina、CoreData、NSUserD...

  • 浅析iOS中的归档与反归档

    今天我们要搞一搞iOS开发当中的归档和反归档,在进入正题之前,我们需要了解一下归档和反归档是干什么用的。 所谓归档...

  • iOS 归档

    写入数据 读取数据 注意:如果使用归档 该对象必须遵守NSCoding 协议 编码协议 实现 encodeWith...

  • IOS 数据储存五个方案

    IOS储存的五个方案 1. NSUserDefaults (偏好设置文件)2. plist文件3. 归档 (反归档...

网友评论

      本文标题:iOS 归档

      本文链接:https://www.haomeiwen.com/subject/ndxlvktx.html