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;

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

  • 相关阅读:
    【Express系列】第3篇——接入mysql
    【Express系列】第2篇——主程序的改造
    【Express系列】第1篇——项目创建
    AngularJS内置指令
    node服务端搭建学习笔记
    生成ssh key
    webstorm的常用操作
    VSCode 常用插件
    php集成包
    composer安装特别慢的解决方案
  • 原文地址:https://www.cnblogs.com/meixian/p/5370986.html
Copyright © 2011-2022 走看看