一、什么是plist文件:

plist文件:Property List文件的简称,用于存放数组或者字典等的文本文件。IOS经常使用其存放用户信息,app信息等,如:info.plist文件。

二、plist文件内容怎么读取:

当开发项目中使用plist文件时,不论plist文件存放到哪个目录中,在ipa文件中都会发现该plist文件被放到了app文件里;除非在运行时在其他目录比如document目录或者Library下面建立plist文件。所以一般情况下非在运行时生成的plist文件读取可以使用:

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"MoreData" ofType:@"plist"];

获取plist文件路径,“MoreData”表示plist文件名称。根据plist文件中存放的内容,读取方式可以分为:

<pre name="code" class="html" style="font-family: 'Helvetica Neue', Helvetica, STheiti, 微软雅黑, 黑体, Arial, Tahoma, sans-serif, serif; color: rgb(51, 51, 51);">//如果plist文件中存放的是数组:
NSMutableArray *<span style="font-family: 'Helvetica Neue', Helvetica, STheiti, 微软雅黑, 黑体, Arial, Tahoma, sans-serif, serif;">dataSource = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];</span>
<span style="font-family:Helvetica Neue, Helvetica, STheiti, 微软雅黑, 黑体, Arial, Tahoma, sans-serif, serif;">//如果plist文件中存放的是字典</span>

NSDictionary *dic=[[NSDictionary alloc] initWithContentsOfFile:plistPath];
三、plist文件的修改删除:

app文件下面的plist文件是只读的不能修改,可以通过以下方式判断:

<span style="font-size:18px;">NSFileManager *manager=[NSFileManager defaultManager];
BOOL flag1=[manager isWritableFileAtPath:plistPath];</span>

当然可以在运行时将plist文件放到其他目录中,如将一个plist文件的数据存储到另外一个中:

<span style="font-size:18px;">//存放路径
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, true);
NSString *pathPlist=[paths firstObject];
NSString *filename=[pathPlist stringByAppendingPathComponent:@"test.plist"];
//写入,<span style="font-family: Arial, Helvetica, sans-serif;">dataSource为上面plist文件的类容</span>
BOOL flag=[dataSource writeToFile:filename atomically:YES];</span>

运行后使用同步助手到处ipa文件,解压后可以看到,Library目录下面多了一个test.plist文件;这时,我们读取test.plist文件就不能使用上面方式:

<span style="font-size:18px;">NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"plist"];</span>

获取路径了;获取路径的方式和存放路径的方式相同,为:

<span style="font-size:18px;">NSArray *paths=NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, true);
NSString *pathPlist=[paths firstObject];
NSString *filename=[pathPlist stringByAppendingPathComponent:@"test.plist"];</span>

如果需要对文件进行操作,可以使用NSFileManager。

IOS之plist文件相关推荐

  1. iOS开发-plist文件增删改查

    plist第一次看到这个后缀名文件的时候感觉怪怪的,不过接触久了也就习以为常了,plist是Property List的简称可以理解成属性列表文件,主要用来存储串行化后的对象的文件.扩展名为.plis ...

  2. iOS Plist 文件的 增 删 改

    一:Plist 文件的创建 Plist 文件作为我们IOS开发的一种数据存储文件,还是经常会用到的.在看<X-code江湖录>的时候,看到了这一点.自己就写了一下,把写的东西分享出来!先看 ...

  3. 自己服务器上部署APP应用(安卓和IOS版),下载页面的代码,以及IOS的xxx.plist文件的建立

    第一 先安装nginx 第二 修改nginx配置 # vim /usr/local/nginx/conf/nginx.conf#配置用户和用户组 #user nobody; #工作进程数,建议设置为C ...

  4. iOS学习 plist读取和写入文件

    干iOS开发时间,后经常用来plist文件.  那plist什么文件是它? 它的全称是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.plis ...

  5. iOS 打包.framework(包括第三方、图片、xib、plist文件)详细步骤及需要注意的地方...

    https://www.cnblogs.com/yk123/p/9340268.html // 加载自定义名称为Resources.bundle中对应images文件夹中的图片 // 思路:从main ...

  6. iOS学习之 plist文件的读写

    在做iOS开发时,经常用到到plist文件,  那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.plist ...

  7. IOS之Info.plist文件简介

    http://my.oschina.net/hmj/blog/104196 元信息简介 为了提供更好的用户体验,IOS 和 OS X的每个app或bundle都依赖于特殊的元信息(meta Infor ...

  8. iOS开发中plist文件的创建与简单读取(一)

    iOS开发中plist文件的创建与简单读取(一) 1. 创建一个工程 2. 新建一个plist文件(command+N快捷键或者新建文件 如图下的红色圈) 3. 红色圈是plist的文件名,这里默认为 ...

  9. iOS工程配置info.plist文件总结

    Info.plist文件 介绍 info.plist文件主要描述的是一些工程的配置. 位置以及打开 另一种打开方式Open As Source Code: git操作冲突的时候打不开plist文件的时 ...

最新文章

  1. Linux 虚拟化网络技术 — 虚拟网络协议栈
  2. Nginx —— 用HTTP proxy module配置一个反向代理服务器
  3. python field readonly_Python serializers.ReadOnlyField方法代码示例
  4. 在Linux服务器之间迁移帐号信息
  5. WebRTC通话原理
  6. 找不到问题的核心,你永远解决不了问题。
  7. 2020年中国服务机器人行业研究报告
  8. 方法 注释_在IDEA中配置类和方法的文档注释
  9. JQuery模拟二------添加extend函数和简单选择器
  10. 命令解压aar、文件压缩成aar图文详解
  11. 低资源场景下知识抽取的综述与展望
  12. 基于Python手动实现Harris角点检测
  13. 代码覆盖检测工具 OpenCppCoverage
  14. 2021-12-1 set 、multiset 深度探索
  15. 算法与程序设计(四):贪心算法
  16. 【nginx】反向代理
  17. 固态硬盘连接在SATA2、SATA3接口上,使用不同SATA线的速度对比
  18. win10桌面图标不显示,且鼠标右键没反应处理。
  19. 放弃幻想,全面拥抱 Transformer:自然语言处理三大特征抽取器(CNN/RNN/TF)比较(上篇)...
  20. iOS中删掉字符串中的空白格

热门文章

  1. 平衡家庭和事业,如何用RPA化解职场女性的痛
  2. Conflux 进阶课 | 初始阶段通证发行数量
  3. Python grid布局
  4. m序列生成输入信号matlab,M序列的生成
  5. debian配置BT下载工具transmission-daemon
  6. wps表格l制作甘特图_甘特图是什么?-如何用WPS表格做甘特图
  7. 流媒体解码及H.264编码推流
  8. 计算机英语知识点,小学英语语法知识点汇总
  9. Redisson实现分布式锁原理
  10. kmp算法中字符串前后缀公共长度的总结