NSCoding归档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSCoding归档相关的知识,希望对你有一定的参考价值。

大家都知道ios中数据持久化的方式有plist sqlite coredata nscoding

而nscoding不需要关心模型属性有多少个,是什么类型,不需要定义归档文件的规则。

下面给个类大家用,很简单就可以使用nscoding归档

#import "property.h"
 #import "CXLCodingHelper.h"

@implementation property

- (id)initWithCoder:(NSCoder *)aDecoder {
   self = [super init];
    if (!self) {
       return nil;
   }
   self = [CXLCodingHelper decodeClass:self decoder:aDecoder];
   return self; 
 }


 -(void)encodeWithCoder:(NSCoder *)aCoder {
     [CXLCodingHelper encodeClass:self encoder:aCoder]; 
 }

https://github.com/becomedragon/CXLCodingHelper

 

使用的时候:
归档:[NSKeyedArchiver archiveRootObject:归档对象 toFile:filePath];  
解档: [NSKeyedUnarchiver unarchiveObjectWithFile:filePath]; (返回归档传入的类型)

 

以上是关于NSCoding归档的主要内容,如果未能解决你的问题,请参考以下文章

使用 nscoding 归档 UIVIew 及其子视图

iOS 归档操作 NSCoding

如何归档 NSDictionary 的 NSArray(使用 NSCoding)?

NSManagedObject 能否符合 NSCoding

使用密钥归档/取消归档父子对象

NSKeyedArchiver