美文网首页
数据存储之归档

数据存储之归档

作者: 贼海鸥 | 来源:发表于2017-06-09 14:23 被阅读0次

归档有两种方法:

第一种:一个对象创建一个归档文件,缺点:太麻烦

比如,归档一个数组

    NSArray *array = @[@"123" , @"abc" , @"132"];
    // 拿到创建用户的根路径
    NSString *homePath = NSHomeDirectory();
    NSLog(@"%@" , homePath);
    NSString *path = [homePath stringByAppendingPathComponent:@"text.yaalv"];
    BOOL success = [NSKeyedArchiver archiveRootObject:array toFile:path];
    if (success) {
        NSLog(@"归档成功");
    }

解归档的方法

    NSString *homePath = NSHomeDirectory();
    NSLog(@"%@" , homePath);
    NSString *path = [homePath stringByAppendingPathComponent:@"text.yaalv"];
    NSArray *data = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
    NSLog(@"%@" , data[0]);

第二种就是建一个归档文件,将要保存的内容归档

    NSString *homePath = NSHomeDirectory();
    NSLog(@"%@" , homePath);
    NSString *filePath = [homePath stringByAppendingPathComponent:@"custom.text"];
    NSMutableData *data = [NSMutableData data];
    NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
    [archiver encodeFloat:50.0 forKey:@"weight"];
    // @"李四"这里可以填任很多的数据的数据类型,比如数组什么的
    [archiver encodeObject:@"李四" forKey:@"name"];
    [archiver encodeInt:12 forKey:@"age"];
    [archiver finishEncoding];
    
    BOOL success = [data writeToFile:filePath atomically:YES];
    if (success) {
        NSLog(@"------归档成功");
    }

解归档的方法

    NSString *homePath = NSHomeDirectory();
    NSLog(@"%@" , homePath);
    NSString *filePath = [homePath stringByAppendingPathComponent:@"custom.text"];
    NSData *data = [NSData dataWithContentsOfFile:filePath];
    NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
    NSString *name = [unarchiver decodeObjectForKey:@"name"];
    NSLog(@"name:%@" , name);

本文demo下载:
https://github.com/TheifSeaMew/-.git

相关文章

  • iOS-12 数据存储

    1iOS数据存储之Core Data(一) - 简书 2iOS数据存储之归档 - 简书 3iOS数据存储之偏好设置...

  • 数据存储之归档

    归档有两种方法: 第一种:一个对象创建一个归档文件,缺点:太麻烦 比如,归档一个数组 解归档的方法 第二种就是建一...

  • 数据存储之归档

    归档 NSKeyedArchiver : 序列化,把对象转为字节码,存储到文件中,然后将文件存储到硬盘中,实现数据...

  • 缓存之归档、反归档

    归档反归档是数据存储方式的一种。归档将复杂数据结构转换成NSData进行存储,反归档将NSData转成复杂数据结构...

  • iOS-归档NSCoding序列化

    归档 归档->数据持久化的方式->加密(把文件加密《不是把数据加密》 归档分为: 1、存储数据(编码、序列化、归档...

  • iOS数据存储之归档

    在上一篇的文章中我简单介绍了使用偏好设置和属性列表进行数据存储iOS数据存储之偏好设置和属性列表,今天总结下数据存...

  • 归档 存储数据

    归档一般都是保存自定义对象的时候,使用归档.因为plist文件不能够保存自定义对象. 如果一个字段当中保存有自定义...

  • 归档 存储数据

    归档一般都是保存自定义对象的时候,使用归档.因为plist文件不能够保存自定义对象.如果一个字段当中保存有自定义对...

  • UI控件进阶3——数据存储

    数据存储 iOS应用数据存储的常用方式?XML属性列表(plist)归档(归档:用某种格式来保存一个或者多个对象,...

  • ios面试题7

    三.数据存储 1.数据存储技术 1>数据存储的几种方式 XML属性列表(plist)归档 Preference(偏...

网友评论

      本文标题:数据存储之归档

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