zoukankan      html  css  js  c++  java
  • IOS开发之 归档总结

    只针对于Foundation对象的归档:

    使用XML属性列表归档,结果物为XML文件,属性列表归档只针对于Foundation对象,若数组或字典集合中有某些自定义的类的对象,则不能用这个方法归档。

    归档使用的方法:

    使用Foundation类中自带的方法:- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;

    相对应的解析方法:-(id)initWithContentOfFile:(NSString *)filePath;

    这两个方法是相对应的。用自带的方法归档,就必须用自带的方法读取文件。如果用别的方法读取会出现异常。

    归档自定义类的方法:

    用NSArchiver和NSKeyedArchiver归档。

    在IOS SDK中没有NSArchiver(NSArchiver 是mac os SDK中的方法)。只能用 NSKeyedArchiver 和 NSKeyedUnArchiver进行归档和解析操作。

    NSArray *array=@[@"1",@"2",@"3"];

    [NSKeyedArchiver archiveRootObject:array toFile:@"arrTemp"]; //归档操作

    NSArray *arr=[NSKeyedUnarchiver unarchiveObjectWithFile:@"arrTemp"]; //读取文件操作

    自定义的类用NSKeyedArchiver进行带键值对的归档时要遵循<NSCoding>协议方法并实现。

    //进行归档的编码方式

    - (void)encodeWithCoder:(NSCoder *)aCoder

    {

        [aCoder encodeObject:bookName forKey:@"name"];

    }

     //读取文件进行解码的方式

    - (id)initWithCoder:(NSCoder *)aDecoder

    {

       self.bookName = [aDecoder decodeObjectForKey:@"name"];

     return  self;

    }

  • 相关阅读:
    小程序_递归求年纪
    小程序_递归求阶层
    把字符串复制到剪贴板
    主流的三种RF方案及其优缺点比较
    CC1100E的ESD指标?
    delphi怎样打开一个文本文件
    CC1100模块 250K的速率的问题
    delphi 中显示access数据库表怎么实现
    delphi与Access数据库连接的步骤
    数据库基本语句
  • 原文地址:https://www.cnblogs.com/csdnmc/p/3974686.html
Copyright © 2011-2022 走看看