iOS应用数据存取的常用方式
1,XML属性列表 –Plist
2,NSkeyedArchiver 归档
3,preference(偏好设置)
4,SQLifte3(可以跨平台的)
5,coreDate
XM属性列表—Plist
属性列表是一种XML格式的文件,扩展名为plist
如果对象是NSArray、NSDictionary,Boolean、date、Number、string 类型,可以使用WriteToFile: atomicall : 方法直接写入到属性列表文件。
说明atomically 当YES;先创建一个临时文件,直到内容完成后再导入目标文件。当NO:直接写入文件.
注意:如果所指定保存文件的路径不存大,写入文件方法不会报错,文件也不会被保存。XM属性列表—Plist
属性列表是一种XML格式的文件,扩展名为plist
如果对象是NSArray、NSDictionary,Boolean、date、Number、string 类型,可以使用WriteToFile: atomicall : 方法直接写入到属性列表文件。
说明atomically 当YES;先创建一个临时文件,直到内容完成后再导入目标文件。当NO:直接写入文件.
注意:如果所指定保存文件的路径不存大,写入文件方法不会报错,文件也不会被保存。
/写下文件,
-(void)writeArray
{
NSArray *array=@[@1,@2,@3,@4];
//确定要写入文件 位置
NSArray *documents=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsStr=[documents objectAtIndex:0];
NSString *path=[documentsStr stringByAppendingString:@"/array.plist"];
NSLog(@"%@",path);
//写入文件
[array writeToFile:path atomically:YES];
//写入20个字符串
NSMutableArray *arr=[NSMutableArray arrayWithCapacity:100];
for (int i=0; i<100; i++)
{
NSString *string=[NSString stringWithFormat:@"cym_bj%d",arc4random_uniform(100)];
[arr addObject:string];
}
//写文件
NSString *path1=[documentsStr stringByAppendingString:@"/arr.plist"];
NSLog(@"%@",path1);
[arr writeToFile:path1 atomically:YES];
}
-(void)writeDic
{
NSMutableDictionary *dict=[[NSMutableDictionary alloc]initWithCapacity:20];
for (int i=0; i<10; i++)
{
NSString *string=[NSString stringWithFormat:@"abc%d",i];
NSMutableArray *array=[NSMutableArray arrayWithCapacity:20];
for (int i=0; i<10; i++)
{
NSString *string=[NSString stringWithFormat:@"%d",arc4random_uniform(100)];
[array addObject:string];
}
[dict setValue:array forKey:string];
}
NSArray *documents=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *str=[documents objectAtIndex:0];
NSString *path=[str stringByAppendingString:@"/abc.plist"];
[dict writeToFile:path atomically:YES];
}