zoukankan      html  css  js  c++  java
  • 数据的归档和解归档

    数据的归档和解归档

    //归档

    BOOL success = [NSKeyedArchiver archiverRootObject:归档的对象 toFile:文件路径];

    //解档

    id content =  [NSKeyedUnArchiver unarchiveObjectWithFile:文件路径];

     

    //第二种解归档(多对象)

    //归档

    NSString *homePath = NSHomePath();

    NSString *filePath = [homePath stringByAppendingPathComponent:归档文件名];

    NSMutableData *data = [NSMutableData data];

    NSKeyedArchiver *archive = [[NSKeyedArchiver alloc]initForWritingMutableData:data];

    [archive encodeInt:100 forKey:@“age”];

    [archive encodeObject:对象名 forKey :@“name”];

    [archive finishEncode];

    [archive release];

    BOOL success = [data writeToFile :filePath atomically:YES ];

    //解档

    NSString *homePath = NSHomePath();

    NSString *filePath = [homePath stringByAppendingPathComponent:归档文件名];

    NSData *data = [NSData dataWithContentsOfFile:filePath];

    NSKeyedUnarchiver  *unarchive = [[NSKeyedUnarchiver alloc]initForReadingWithData:data]; 

    int num = [unarchive decodeIntForKey:@“age”];

    id obj = [unarchive decodeObjectForKey:@“name”];

    [unarchive release ];

    //自定义归档的时候要遵守NSEcoding协议才行

    //归档的时候 要实现方法

    -(void)encodeWithCoder:(NSCoder *)aCoder{}

    //解档的时候要实现

    -(void)initWithCoder:(NSCoder *)aCoder{

    self = [super init];

    if  (self  != nil){

     }

    return self;

     }//注意点     对象属性的所有权

  • 相关阅读:
    Shell是linux下的脚本语言解析器
    semver 是 语义化版本
    js中限制字符串输入中英文字符的长度封装
    chalk.js(node终端样式库)
    分页
    利用Nodejs的os.networkInterfaces()模块修改vuecli项目默认打开地址
    物理像素
    长列表优化eg
    [JSOI2008]球形空间产生器
    标记不下传线段树(混蛋树)
  • 原文地址:https://www.cnblogs.com/meixian/p/5370986.html
Copyright © 2011-2022 走看看