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框架总结
    http协议和file协议的区别
    苹果和安卓机的兼容问题
    nodejs搭建服务器
    VsCode编辑器
    编辑器统一 快捷键
    前后端分离 方案
    资源
    commonJs的运行时加载和es6的编译时加载
    mock 数据 解决方案
  • 原文地址:https://www.cnblogs.com/meixian/p/5370986.html
Copyright © 2011-2022 走看看