前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS数据持久化之一——plist文件 原

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

作者头像
珲少
发布2018-08-16 14:33:41
9310
发布2018-08-16 14:33:41
举报
文章被收录于专栏:一“技”之长一“技”之长

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,在其中添加一些数据:

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

代码语言:javascript
复制
 //获取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等操作。

代码语言:javascript
复制
    //获取沙盒目录
    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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015/10/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • iOS数据持久化之一——plist文件
    • 一、何为plist
      • 二、通过操作plist文件进行数据持久化的几种方式
        • 1、操作系统为我们准备的用户配置文件——NSUserDefaults
        • 2、在项目包中手动创建一个plist文件,通过代码对其进行操作
        • 3、在沙盒目录中创建和使用plist文件
    相关产品与服务
    对象存储
    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档