实体类
//
// Blonder.m
// MyUILibrary
//
// Created by shi shengjie on 11-11-17.
// Copyright 2011骞?bit. All rights reserved.
//
#import "Blonder.h"
#define NAME @"name"
#define AGE @"age"
#define CONTY @"country"
@implementation Blonder
@synthesize _name;
@synthesize _age;
@synthesize _country;
/*\\--NSCoding--//*/
-(void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeObject:_name forKey:NAME];
[aCoder encodeObject:_country forKey:CONTY];
[aCoder encodeInteger:_age forKey:AGE];
}
-(id)initWithCoder:(NSCoder *)aDecoder
{
if (self=[super init]) {
self._name=[aDecoder decodeObjectForKey:NAME];
self._country=[aDecoder decodeObjectForKey:CONTY];
self._age=[aDecoder decodeIntegerForKey:AGE];
}
return self;
}
/*\\--NSCopying--//*/
-(id)copyWithZone:(NSZone *)zone
{
Blonder *copy=[[[self class] allocWithZone:zone] init];
copy._name=[self._name copyWithZone:zone];
copy._country=[self._country copyWithZone:zone];
copy._age=[self copyWithZone:zone];
return copy;
}
@end
归档
Blonder *blonder=[[Blonder alloc] init];
blonder._age=12;
blonder._name=@"maro";
blonder._country=@"china";
NSArray *array=[[NSArray alloc] initWithObjects:blonder, nil];
NSString *temp=NSTemporaryDirectory();
NSString *path=[temp stringByAppendingPathComponent:@"ht.x"];
NSMutableData *data=[[[NSMutableData alloc] init] autorelease];
NSKeyedArchiver *archiver=[[[NSKeyedArchiver alloc] initForWritingWithMutableData:data] autorelease];
[archiver encodeObject:array forKey:@"key"];
[archiver finishEncoding];
[data writeToFile:path atomically:YES];
NSData *rData=[[NSData alloc] initWithContentsOfFile:path];
NSKeyedUnarchiver *unarchiver=[[NSKeyedUnarchiver alloc]
initForReadingWithData:rData];
NSArray *rArray=[unarchiver decodeObjectForKey:@"key"];
for (id i in rArray){
Blonder *b=(Blonder *)i;
NSLog(@"%@",b._name);
}