数据持久化存储--plist文件

//1.属性列表的方式,plist文件。

//轻量级的数据涉及到的主要的类NSUserDefaults

//存储数据:数组.字典.集合.沙盒

//持久化存储数据存储本地(沙盒机制)

//沙盒机制:苹果的安全机制

/*

*每个iOS应用都有自己的沙盒,应用的运行全都在自己的沙盒下进行的

*沙盒相当于一个设置了仅主人可见权限的一个文件夹

*1.别的应用不可以访问自己应用下的沙盒你也不可以访问别的应用的沙盒

*2.应用程序间的数据不能共享沙盒中的文件不能被拷贝到其他的应用沙盒下

*3.苹果禁止任何读写沙盒以外的文件的操作禁止应用将内容或者是数据写入到沙盒以外的文件夹

*/

//获取沙盒文件路径

NSString *str =NSHomeDirectory();

NSLog(@"%@",str);

/Users/mac/Library/Developer/CoreSimulator/Devices/36C30440-0494-424D-8F4A-98795D82075B/data/Containers/Data/Application/FC4AE0BB-6400-4A91-B93A-54C40C973676

/**

*沙盒下三个文件夹

*1.Documents存储用户数据

*2.Library下方两个文件夹Caches:缓存文件夹。Preference:偏好设置文件夹nsuserdefault (.plist文件反域名形式文件名字应用的唯一标识com.Chen.SaveData)

*3.tmp文件夹的作用存储临时数据

*/

//数据持久化存储:

//1.属性列表的方式,plist文件轻量级的数据涉及到的主要的类NSUserDefaults

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];

//写文件可以直接写入的数据:字典,数组,字符串,number(基本数据类型),二进制数据(最基本数据类型:NSData)   (这些类都实现NSCoding协议(2个))

//BOOL

[ud setBool:YES forKey:@"bool"];

//读取(存储的是什么类型,读取的就是什么类型)

BOOL isYes = [[ud objectForKey:@"bool"] boolValue];

//字典

NSDictionary *dic = @{@"111":@"one",@"222":@"two"};

[ud setObject:dic forKey:@"Dic"];

NSDictionary * D = [ud objectForKey:@"Dic"];

//数组

NSArray *ary = @[@"123",@"456",@"789"];

[ud setObject:ary forKey:@"array"];

NSArray *ar = [ud objectForKey:@"array"];

//基本数据类型

floata = 10;

[ud setObject:[NSNumber numberWithFloat:a] forKey:@"float"];

floatb = [[ud objectForKey:@"float"] floatValue];

NSLog(@"%f",b);

//二进制

NSString *str1 =@"sad";

NSData *data = [str1 dataUsingEncoding:NSUTF8StringEncoding];

[ud setObject:dataforKey:@"data"];

NSData *dat = [ud objectForKey:@"data"];

//把二进制转换为字符串

NSString* str11 = [[NSString alloc] initWithData:dat encoding:NSUTF8StringEncoding];

NSLog(@"%@",str11);

//同步

[ud synchronize]; 

你可能感兴趣的:(数据持久化存储--plist文件)