归档和解档是数据持久化的一种方法,下面我们通过代码来学习一下
归档
// UIView *v = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 200, 200)];
// v.backgroundColor = [UIColor purpleColor];
// [self.view addSubview:v];
//通过归档把v 转成NSData
// NSData *viewData = [NSKeyedArchiver archivedDataWithRootObject:v];
//
// [viewData writeToFile:@"/Users/tarena/Desktop/view.arch" atomically:YES];
//简写
// [NSKeyedArchiver archiveRootObject:v toFile:@"/Users/tarena/Desktop/view2.arch"];
解档:
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
//把nsdata转回对象 (解档)
// NSData *data = [NSData dataWithContentsOfFile:@"/Users/tarena/Desktop/view.arch"];
// UIView *view = [NSKeyedUnarchiver unarchiveObjectWithData:data];
//
UIView *view = [NSKeyedUnarchiver unarchiveObjectWithFile:@"/Users/tarena/Desktop/view.arch"];
[self.view addSubview:view];
}