一行代码完成iOS序列化。本文件提供iOS下的序列化与反序列化集成方案。
本文件提供iOS下的序列化与反序列化集成方案,封装后用一行代码即可轻松实现。在传统方式中,当需要对某个对象进行序列化与反序列化时,通常需要实现协议以及协议(非必须),并在协议方法中对需要序列化的属性执行encode&decode操作。当变量较多并且需要序列化的自定义对象较多时,容易出现过多冗余代码,稍有不慎容易出错。WZLSerializeKit在运行时对类及其所有层级父类的属性进行遍历,避免遗漏。属性越多,优势越明显。
用法
Person.h:
========================================
#import "WZLSerializeKit.h"
@interface Person: SomeSuperclass<NSCoding, NSCopying>
{
...
}
@end
========================================
Person.m:
========================================
#import "Person.h"
@implementation Person
WZLSERIALIZE_CODER_DECODER();
WZLSERIALIZE_COPY_WITH_ZONE();
WZLSERIALIZE_DESCRIPTION();//(NOT NECESSARY)
@end
========================================
在您希望序列化Person实例的地方:例如
//archive object to NSData
WZLSERIALIZE_ARCHIVE(person, @"Person", [self filePath]);
//unarchive NSData to object
Person thePerson = nil;
WZLSERIALIZE_UNARCHIVE(thePerson, @"Person", [self filePath]);