数据持久化存储--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]; 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言iOS本地缓存数据方式有五种:1.直接写文件方式:可以存储的对象有NSString、NSArray、NSDic...
    LZM轮回阅读 738评论 0 2
  • 转载自:http://www.mamicode.com/info-detail-957988.html 1、iOS...
    哆啦_阅读 2,336评论 0 2
  • IOS数据持久化 数据的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在i...
    koula阅读 1,182评论 0 19
  • 前言: 在程序开发中,数据层永远是程序的核心结构之一。对这些数据的加工处理是代码中能体现技术水平的一大模块,比如数...
    麦穗0615阅读 1,476评论 3 22
  • 在程序开发中,数据层永远是程序的核心结构之一。我们将现实事物进行抽象,使之变成一个个数据。对这些数据的加工处理是代...
    帅不过oneS阅读 640评论 0 1