#import "TRPerson.h"
@implementation TRPerson
// 遵循nscoding协议,实现以下两个方法
- (void)encodeWithCoder:(NSCoder *)aCoder{
[aCoder encodeObject:self.nameforKey:@"name"];
[aCoder encodeInt:self.ageforKey:@"age"];
}
- (id)initWithCoder:(NSCoder *)aDecoder{
self = [super init];
if (self) {
self.name = [aDecoderdecodeObjectForKey:@"name"];
self.age = [aDecoderdecodeIntForKey:@"age"];
}
return self;
}
-(void)writeData:(NSMutableArray*)data
{
NSMutableData *md = [NSMutableData data];
// 归档
NSKeyedArchiver *arch =[[NSKeyedArchiver alloc]initForWritingWithMutableData:md];
[arch encodeObject:data forKey:@"names"];
[arch finishEncoding];
[md writeToFile:self.path atomically:YES];
}
-(NSMutableArray*)readData
{
NSData *data = [NSData dataWithContentsOfFile:self.path];
NSKeyedUnarchiver *unArch = [[NSKeyedUnarchiver alloc]initForReadingWithData:data];
return [unArch decodeObjectForKey:@"names"];
}