iOS开发-数据持久化之plist文件

摘要

通过对plist文件的操作对iOS开发中一些数据进行持久化保存。

iOS数据持久化之一——plist文件

iOS开发中,我们时常会将一些简单的数据进行持久化的存储,方便我们保存程序的一些配置和用户的一些数据,plist文件就是我们保存这些数据的最佳选择。

一、何为plist

plist是一种文件格式,其内容规则是xml文件,后缀为.plist,因此,我们更习惯于成它问plist文件,在iOS开发中,这种文件常用来保存一些简单的配置数据,例如项目中的info.plist。

通过plist文件编辑器,我们可以很方便的查看和编辑层次清晰的plist文件。


二、通过操作plist文件进行数据持久化的几种方式


1、在项目包中手动创建一个plist文件,通过代码对其进行操作

这种方式创建的plist文件非常自由且直观,我们可以创建多个根据功能进行分类存储,并且可以通过Xcode的可视化工具进行可视化的修改。

首先,我们新创建一个文件,在Resource中选择 Property List文件:


之后,我们通过Xcode,在其中添加一些数据:


通过代码,我们来获取这些数据:

//获取myInfo文件地址

NSString * path = [[NSBundle mainBundle]pathForResource:@"myInfo" ofType:@"plist"];

NSMutableDictionary * dic =[NSMutableDictionary dictionaryWithContentsOfFile:path];

NSLog(@"%@",dic);

打印结果如下:

这种方式添加的plist文件,我们只能在xcode中配置好,然后再程序中读取使用,但是不能在程序中修改这些数据,可以应用于一些固定的数据的存储,例如地图的属性,省市县列表等。

2、在沙盒目录中创建和使用plist文件

我们还可以通过代码在沙盒中创建我们自己的plist文件,进行数据的存储。同时可以支持add,delete,replace,find等操作。

//获取沙盒目录

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString *plistPath1 = [paths objectAtIndex:0];

//得到完整的文件名

NSString *filename=[plistPath1 stringByAppendingPathComponent:@"my.plist"];

NSDictionary * dic = @{@"my":@"haha"};

[dic  writeToFile:filename atomically:YES];

//取数据

NSDictionary * getDic = [NSDictionary dictionaryWithContentsOfFile:filename];

NSLog(@"%@",getDic);

打印如下:


这种方式无疑会更加安全,存取也更加自由。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在程序开发中,数据层永远是程序的核心结构之一。我们将现实事物进行抽象,使之变成一个个数据。对这些数据的加工处理是代...
    sindri的小巢阅读 16,887评论 13 85
  • 在程序开发中,数据层永远是程序的核心结构之一。我们将现实事物进行抽象,使之变成一个个数据。对这些数据的加工处理是代...
    帅不过oneS阅读 3,928评论 0 1
  • 1、iOS数据持久化之——NSUserDefaults NSUserDefaults适合存储轻量级的本地数据,比如...
    海耐射手阅读 3,262评论 0 0
  • 一、文件 应用程序包 : 这里面存放的是应用程序的源文件,包括资源文件和可执行文件。NSString *path ...
    今天又要上班吗阅读 3,775评论 0 2
  • 纪实节目 《生命缘》命悬一线时的爱
    粒米特拉阅读 1,648评论 0 0

友情链接更多精彩内容