plist文件的相关操作
本文概要
1.plist文件的简介
2.在Xcode中创建plist文件
3.在Xcode中将plist文件转换成数组或者字典对象
4.将数组或者字典对象转换成plist文件并且存储
详细介绍
1.plist文件的简介
在做iOS开发时,经常用到到plist文件,它是一种资源文件。 它全名是:Property List(属性列表文件),它是一种用来存储串行化后的对象的文件。属性列表文件的扩展名为.plist ,因此通常被称为plist文件。文件是xml格式的。plist文件通常用于储存用户设置,也可以用于存储Array、Dictionary、Boolean、Data、Date、Number和String类型的任何数据。
2.在Xcode中创建plist文件(略)
3.在Xcode中将plist文件转换成数组或者字典对象
对一个存在于Xcode项目中的plist文件进行代码操作之前需要将改plist文件转换成数组或者字典,然后对数组或者字典进行操作。至于转换成数组还是字典取决于该plist文件的最外层是数组还是字典。确定后使用下列中的相应代码进行转换:
前提默认:Xcode文件中存在myData.plist文件
将plist文件内容转换成数组:
@property (nonatomic, strong) NSArray *myDateArray;
_myDateArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"myData" ofType:@"plist"]];
或者
@property (nonatomic, strong) NSArray *myDateArray;
_myDateArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"myData.plist" ofType:nil]];
将plist文件内容转换成字典:
@property (nonatomic, strong) NSDictionary *myDateDict;
_myDateDict = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"myData" ofType:@"plist"];
或者
@property (nonatomic, strong) NSDictionary *myDateDict;
_myDateDict = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"myData.plist" ofType:nil]];
4.将数组或者字典对象转换成plist文件并且存储
本文举例将转换后的plist文件存入应用的沙盒中的Ducuments目录下,当然该方法可以根据路径将文件存到任何地方。
前提默认:Xcode中存在已经放好数据的数组和字典
@property (nonatomic, strong) NSArray *myDateArray;
@property (nonatomic, strong) NSDictionary *myDateDict;
1.首先得获得沙盒的Documents目录的路径:
NSStringNSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
2.然后拼接目标路径字符串:
NSString *filePath=[documentsPath stringByAppendingPathComponent:@"myData.plist"];
3.最后存入:
将数组对象转换成plist文件并且存储
[myDateArray writeToFile:filePath atomically:YES];
将字典对象转换成plist文件并且存储
[myDateDict writeToFile:filePath atomically:YES];
plist文件的相关操作的更多相关文章
- 关于C#资源文件的相关操作
关于资源文件的相关操作. //1.比较常见的有获取资源文件对应的文件流,然后转换到相对应的文件 //比较典型的做法是通过代码程序集加载指定资源 //如下通过Assembly的静态方法GetExecut ...
- java文件夹相关操作 演示样例代码
java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...
- Oracle 参数文件及相关操作介绍
Oracle 参数文件及相关操作介绍 by:授客 QQ:1033553122 1.服务器参数文件 服务器参数文件是一个二进制文件,作为初始化参数的存储仓库.实例运行时,可用ALTER SYSTEM来改 ...
- Java IO_001.File类--文件或文件夹相关操作
Java IO之File对象常用操作 File类:用于文件或文件夹或网址相关联的操作.可以关联或不关联文件(即关联不存在的文件).构造函数有: public File(String pathname) ...
- python文件的相关操作
python 目录 python 1.python文件的介绍 使用文件的目的 Python文件的类型主要有两种:文本文件和二进制文件. 操作文件的流程主要有三步:打开-操作-关闭操作. 2.文件的打开 ...
- 用 JSP 实现对文件的相关操作
前段时间一直忙着作业,实验,动手的时间真是少之又少,今天终于可以继续和大家分享关于 JSP 的学习心得. 简单总结一下吧: JSP 理论性很强,感觉就是纯语法. 我更偏向于实际编写代码,这样更容易理解 ...
- linux基础——关于chmod用户权限和文件的相关操作
第一部分:1) 新建用户natasha,uid为1007,gid为555,备注信息为“master” 操作:useradd natasha新建natasha:修改uid是,usermod -u 100 ...
- Day 07 文件的相关操作
文件初始: 文件的三要素: path:文件的路径 mode:r w r+ w+ a encoding: 编码方式 # 打开一个文件的方法 f1 = open('e:\echo.txt', encodi ...
- c++ 文件位置相关操作
教学内容: l 文件定位操作 l fgetpos定位 l fsetpos设定位置 l 文件结束判断函数feof 一.文件定位操作 在C语言标准库里 获取文件位置的函数有ftell和fge ...
随机推荐
- PKUSC2015总结
突然发现这是自己第100篇博客...写下总结庆祝一下好啦 首先就是..D类狗果真没人权啊啊啊.考的辛辛苦苦结果因为D类拿不到一个好协议真的是哭瞎辣QAQ 然后就是..自己真的是太弱啊啊啊..各种傻逼题 ...
- BZOJ 3653: 谈笑风生(DFS序+可持久化线段树)
首先嘛,还是太弱了,想了好久QAQ 然后,这道题么,明显就是求sigma(size[x]) (x是y的儿子且层树小于k) 然后就可以发现:把前n个节点按深度建可持久化线段树,就能用前缀和维护了 其实不 ...
- 【openstack N版】——计算服务nova
一.openstack计算服务nova 1.1nova介绍 Nova是openstack最早的两块模块之一,另一个是对象存储swift.在openstack体系中一个叫做计算节点,一个叫做控制节点.这 ...
- HTML第二课
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- Linux 搭建Zookeeper集群
1.使用root创建zookeeper用户: useradd zookeeper: passwd zookeeper; 2.登录zookeeper用户,将下载的zookeeper-3 ...
- C# Redis之ServiceStack
前面几篇博客基本把redis基本操作学习了下,但一些高级应用并没有写进博客,例如持久化.虚拟内存等,像这些主要是通过配置文件来解决的,运维方向可能更侧重一些,对于开发者来说,可能就想知道怎么用C#来和 ...
- angular2新手学习笔记(1)概述
作为培训生出生的一员.在培训出来之后如愿的找到了一份能温饱的工作.进来之后告知公司后面的项目需要angular2来搭建. 对于只会jQuery和bootstrap这两招的我来说无疑是一个巨大的挑战,在 ...
- 使用java.util.Properties类读写配置文件
J2SE 1.5 以前的版本要求直接使用 XML 解析器来装载配置文件并存储设置,虽说也并非难事,相比 java.util.Properties却要做额外的解析工作.而java.util.Proper ...
- File类和时间类的两道综合练习
练习1: 获取指定目录下(包含子目录)所有的某一种类型的文件 分析: 1.指定路径并获取其下的文件对象 2.要判断给定的目录是否为空 3.要判断给定路径下获取的目录是否为空 4.判断是否是某种文件 5 ...
- 多线程爬坑之路-ThreadLocal源码及原理的深入分析
ThreadLocal<T>类:以空间换时间提供一种多线程更快捷访问变量的方式.这种方式不存在竞争,所以也不存在并发的安全性问题. This class provides thread-l ...