我先建了个模型,准备存放数据
#import <Foundation/Foundation.h>
@interface Model : NSObject<NSCoding>
@property (nonatomic,copy)NSString *name;
@property (nonatomic,copy)NSString *age;
+(instancetype)jcWithDict:(NSString *)name andAge:(NSString *)age;
@end
//这是.m文件
#import "Model.h"
@implementation Model
+(instancetype)jcWithDict:(NSString *)name andAge:(NSString *)age
{
Model *model = [[self alloc]init];
model.name = name;
model.age = age;
return model;
}
-(void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeObject:_name forKey:@"name"];
[aCoder encodeObject:_age forKey:@"age"];
}
-(instancetype)initWithCoder:(NSCoder *)aDecoder
{
if (self = [super init]) {
_name = [aDecoder decodeObjectForKey:@"name"];
_age = [aDecoder decodeObjectForKey:@"age"];
}
return self;
}
@end
//这是我具体的归档方法
NSString *strf = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
NSString *rpd = [strf stringByAppendingPathComponent:@"zhujiacheng.plist"];
// [array writeToFile:rpd atomically:YES];
Model *mod = [[Model alloc]init];
mod.name = @"得得得";
[NSKeyedArchiver archiveRootObject:mod toFile:rpd];
NSLog(@"%@",rpd);
//这是进行解压
NSString *jc1 = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask,YES)[0];
NSString *jc2 = [jc1 stringByAppendingPathComponent:@"zhujiacheng.plist"];
NSArray *array = [NSArray arrayWithContentsOfFile:jc2];
// NSLog(@"%@",array);
Model *mode = [NSKeyedUnarchiver unarchiveObjectWithFile:jc2];
NSLog(@"mode = %@",mode.name);