使用NSCoding协议可以实现类的序列化。用于保存数据可以轻松使对象写入文件,然后再从文件中读出数据。大多数COcoa Touch类都符合NSCoding,UIImage除外。
#import <Foundation/Foundation.h>
#define key @"keyValue"
@interface BasicData : NSObject<NSCoding>
{
NSString *property;
}
@property NSString *property;
@end
#import "BasicData.h"
@implementation BasicData
@synthesize property;
#pragma NSCoding
-(void)encodeWithCoder:(NSCoder *)aCoder
{
//对子类进行反序列化时先对超类进行反序列化
//[super encodeWithCoder:aCoder];
[aCoder encodeObject:property forKey:key];
}
-(id)initWithCoder:(NSCoder *)aDecoder
{
if(self==[super init])
{
property = [aDecoder decodeObjectForKey:key];
}
return self;
}
@end