什么是plist文件

plist文件,全名为Property List,顾名思义,即为属性列表文件,因其后缀名为.plist,所以通常被叫做plist文件,这是一种用来存储序列化后的对象的文件,在iOS中通常被用来存储用户设置或者一些常用却不常改变的少量数据。

一、创建plist文件

1.在开发工具或文件夹中通过新建文件的方式创建

在Xcode中使用快捷键 command+n 或者鼠标点击File->New->File,选择iOS->Resource->Property List(如图1):

给文件命名:

注意:plist文件的名称不能使用info.plist、Info.plist、XXXInfo.plist等类似名称,否则容易与项目中其他配置文件重名造成错误

生成的文件:

生成好plist文件之后,单击文件名,可以在右侧对该文件进行操作,可以看到,一共有三列,对应文件中对象的每一行的三个属性,key(键)、type(值的类型)、value(值),type共有7种类型,其中两种为Dictionary(字典)和Array(数组),这两种类型可以互相包含同时可以包含其它5种类型和本身类型的key-value(键值对)(Array类型包含的键值对只有value生效,key默认为item0、item1…),其余5种分别为,Boolean(布尔值,YES和NO)、Data(二进制数据)、Date(时间,2020-06-15T06:53:25Z)、Number(数值)、String(字符串)。

如果你创建的plist文件的文件名为Info.plist等,则会被默认为配置文件,则Root行,即对象的最外层只能为Dictionary类型:

2、代码方式创建plist文件

  • 创建沙盒路径
// 本地沙盒路径列表
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
// 获取沙河路径
NSString* plistPath = [paths objectAtIndex:0];
// 拼接完整路径
NSString* fileName = [plistPath stringByAppendingPathComponent:@"test.plist"];
  • 创建数据
NSMutableDictionary *muDic = [[NSMutableDictionary alloc] init];
[muDic setObject:@"zhangsan" forKey:@"name"];
[muDic setObject:@"12" forKey:@"age"];
  • 写入plist文件
[newsDict writeToFile:plistPath atomically:YES];

二、读取plist文件

1.获取文件路径

  • 使用新建文件的方式创建的plist文件,需通过文件名获取其路径:
// 通过文件名获取完整路径
NSString* fileName1 = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"plist"];
// 获取数据
NSArray* array = [[NSArray alloc] initWithContentsOfFile:fileName1];
  • 使用代码方式创建的plist文件,通过完整路径查找:
// 本地沙盒路径列表
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
// 获取沙河路径
NSString* plistPath = [paths objectAtIndex:0];
// 拼接完整路径
NSString* fileName2 = [plistPath stringByAppendingPathComponent:@"test.plist"];
// 获取数据
NSDictionary* dict = [[NSDictionary alloc] initWithContentsOfFile:fileName2];

三、添加和修改数据

注意:通过直接创建文件的方式创建的plist文件是只读的,只能在开发工具或者程序中手动修改,无法通过代码修改其数据,如要修改,需将该plist文件复制到沙盒中再进行修改,但原来的plist文件内容不变,如果想使用修改后的plist文件,只能使用沙盒中的那一个

直接创建的plist文件多数情况下数据不会进行修改,故下面只展示使用代码创建的plist文件修改和添加数据的方式

  • 获取路径
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* plistPath = [paths objectAtIndex:0];
NSString* fileName2 = [plistPath stringByAppendingPathComponent:@"test.plist"];
  • 获取数据
NSMutableDictionary* dict = [[NSMutableDictionary alloc] initWithContentsOfFile:fileName2];
  • 修改或添加数据
[dict setObject:@"man" forKey:@"sex"];
  • 写入文件
[dict writeToFile:fileName2 atomically:YES];

以上就是plist文件常用的操作,其他直接操作文件的代码属于NSFileManager的范畴,此篇不再赘述。

iOS开发-plist文件的常用操作相关推荐

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

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

  2. c#文件夹常用操作,属性设置,遍历、压缩

    全栈工程师开发手册 (作者:栾鹏) c#教程全解 c#文件夹常用操作,属性设置,遍历.压缩 1.文件夹属性设置 c#使用设置文件夹属性,将文件夹设置为隐藏的.系统的.只读的. 测试代码 static ...

  3. python如何创建excel文件_Python xlrd/xlwt 创建excel文件及常用操作

    一.创建excel代码 备注:封装好了(可直接调用) """ -*- coding:utf-8 -*- @Time :2020/8/20 21:02 @Author :J ...

  4. 第八章节 文件操作一 (文件夹常用操作)

    1.文件夹常用操作 1.文件夹管理是操作系统的重要组成部分,主要包括移动.复制.创建.删除等操作. 2. .NET提供了Directory类和DirectoryInfo类用于对磁盘和文件夹进行常用操作 ...

  5. iOS 技术 info.plist文件的常用配置总结

    一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹.靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希 ...

  6. IOS之plist文件

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

  7. 【iOS】iOS开发之使用Mac自动操作制作@1x@2x@3x图片(切图)

    iOS开发中,会要求导入@1x.@2x和@3x: 使用@1x格式:iPhone3GS 使用@2x格式:iPhone 4,4S,5,5S,5C,SE,6,6S,7,8,XR 使用@3x格式:iPhone ...

  8. iOS开发中对于一些常用的相对路径(持续更新)

    1.iOS开发的证书的描述文件放置地点  ~/Library/MobileDevice/Provisioning Profiles 2.$(SRCROOT)代表的是这个项目文件夹所在的位置  $(PR ...

  9. Excel-VBA 快速上手(五、工作簿对象、Excel 文件的常用操作)

    文章目录 一.工作簿对象 1.1 获取 Excel 文件对应的工作簿对象 二.工作簿对象操作 Excel 的常见用法 2.1. 新建并打开 Excel 文件 2.2. 关闭 Excel 文件 2.3. ...

  10. IOS对plist配置文件的读写操作

    读取: --------------------------------------------------------------- //首先读取studentInfo.plist中的数据 NSSt ...

最新文章

  1. 苹果手机怎么设置时间24小时制_外媒实测苹果iPhone 12续航:5G网络下表现不佳...
  2. 网站改版后确保无误才能上线!
  3. LoadRunner 11.0 - 安装破解(个人试用成功)
  4. Jboss/Wildfly安装配置
  5. 有趣的Web版Ubuntu Linux
  6. [转] 面向对象编程 - 获取对象信息
  7. k8s-有状态应用编排
  8. 安装MySQL过程中,出现“Staring the server”错误的解决方法
  9. ECE8.1认证之路
  10. Web前端jQuery实现监控大屏数字滚动
  11. 玩转Jetson AGX Orin官方套件
  12. 灵狐插件与IDEA的集成
  13. 注解与反射 - 反射 - 操作反射
  14. Leetcode_6_Z字形变换_模拟
  15. 杭州python培训兄弟连
  16. 驾考宝典2014科目一模拟考试 v5.1.6 免费版
  17. 苹果开发证书导入电脑不受信任解决办法
  18. VS2015使用技巧
  19. 机器学习算法-k-means聚类算法介绍
  20. golang基础1-3:GO语言基本数据类型

热门文章

  1. WordPress主题制作全过程(一):基础准备
  2. 史上最详细的 Win10系统重装教程(纯净版)
  3. 多个txt文件合并成一个txt文件、多个csv文件合并成一个csv文件
  4. CCF NOI 2022获奖名单
  5. selenium浏览器驱动下载地址
  6. 网易云音乐评论功能实现(数据库设计)
  7. SameSite 属性
  8. JQuery中美元符号$
  9. 以太坊 私链 节点连接(window)
  10. 中文论文检索证明怎么开_论文检索证明是什么,如何获得呢?