iOS数据持久化之一——plist文件
2015-10-08 00:00
459 查看
摘要: 通过对plist文件的操作对iOS开发中一些数据进行持久化保存。
通过plist文件编辑器,我们可以很方便的查看和编辑层次清晰的plist文件。
首先,我们新创建一个文件,在Resource中选择 Property List文件:
之后,我们通过Xcode,在其中添加一些数据:
通过代码,我们来获取这些数据:
打印结果如下:
这种方式添加的plist文件,我们只能在xcode中配置好,然后再程序中读取使用,但是不能在程序中修改这些数据,可以应用于一些固定的数据的存储,例如地图的属性,省市县列表等。
打印如下:
这种方式无疑会更加安全,存取也更加自由。
专注技术,热爱生活,交流技术,也做朋友。
——珲少 QQ群:203317592
iOS数据持久化之一——plist文件
iOS开发中,我们时常会将一些简单的数据进行持久化的存储,方便我们保存程序的一些配置和用户的一些数据,plist文件就是我们保存这些数据的最佳选择。一、何为plist
plist是一种文件格式,其内容规则是xml文件,后缀为.plist,因此,我们更习惯于成它问plist文件,在iOS开发中,这种文件常用来保存一些简单的配置数据,例如项目中的info.plist。通过plist文件编辑器,我们可以很方便的查看和编辑层次清晰的plist文件。
二、通过操作plist文件进行数据持久化的几种方式
1、操作系统为我们准备的用户配置文件——NSUserDefaults
对于NSUserDefaults,具体用法和一些小技巧在以前的一篇博客中有详细的描述,一般的用户配置信息,我们都会选择通过这种方式来进行持久化,地址如下:http://my.oschina.net/u/2340880/blog/411344。2、在项目包中手动创建一个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中配置好,然后再程序中读取使用,但是不能在程序中修改这些数据,可以应用于一些固定的数据的存储,例如地图的属性,省市县列表等。
3、在沙盒目录中创建和使用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);
打印如下:
这种方式无疑会更加安全,存取也更加自由。
专注技术,热爱生活,交流技术,也做朋友。
——珲少 QQ群:203317592
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- 举例详解iOS开发过程中的沙盒机制与文件
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器
- IOS开发第三方语音-微信语音
- iOS开发之路--微博OAuth授权_取得用户授权的accessToken
- 基于UIControl控件实现ios点赞功能
- iOS开发中实现邮件和短信发送的简单示例