你的位置:首页 > 操作系统

[操作系统]IOS阶段学习第18天笔记(归档与解归档操作)


IOS学习(OC语言)知识点整理

一、归档与解归档的操作

 

1)归档是一个过程,将一个或多个对象存储起来,以便以后可以还原,包括将对象存入文件,以后再读取

     将数据对象归档成plist文件

 

2)plist文件中只能存放:NSString、NSDate、NSNumber、Bool、NSData、NSArray、NSDictionary

     并且NSArray和NSDictionary中只能是以上的类型

 

3)归档存放时数据是什么类型,读取数据时就用什么类型的数据接收。

 

4)归档不能直接操作自定义对象类型的数据。

 

5)归档与解归档操作实例代码 :     

 1 //创建一个二维数组(数组中每个元素又是一个数组对象) 2 NSMutableArray *array1=[[NSMutableArray alloc]init]; 3 for(int i=0;i<4;i++){ 4  [array1 addObject:[NSString stringWithFormat:@"str%d",i+1]]; 5 } 6  7 NSMutableArray *array2=[[NSMutableArray alloc]init]; 8 for(int i=0;i<5;i++){ 9  [array2 addObject:[NSNumber numberWithInt:arc4random()%100]];10 }11 12 NSArray *bigArray=@[array1,array2];13 //将数组对象写入文件,(先写入内存中,如果写入成功,马上存入文件)14 [bigArray writeToFile:@"/Users/kingkong/Desktop/day08/array.plist" atomically:YES];15 16 //将plist文件的内容直接读取出存入数组17 NSArray *newArray=[[NSArray alloc]initWithContentsOfFile:@"/Users/kingkong/Desktop/day08/array.plist"];18 NSLog(@"%@",newArray);19 20 NSArray *emails=@[@"zhangsan@163.com",@"zhangsan@qq.com"];21 //创建一个字典对象22 NSDictionary *dict=[NSDictionary dictionaryWithObjectsAndKeys:@"zhangsan",@"name",@"123456",@"password",emails,@"email", nil];23 //将字典对象写入文件24 [dict writeToFile:@"/Users/kingkong/Desktop/day08/dict.plist" atomically:YES];25 26 //将plist文件的内如读取出来存入字典27 NSDictionary *newDict=[NSDictionary dictionaryWithContentsOfFile:@"/Users/kingkong/Desktop/day08/dict.plist"];28 NSLog(@"%@",newDict);