本文概要

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文件的相关操作的更多相关文章

  1. 关于C#资源文件的相关操作

    关于资源文件的相关操作. //1.比较常见的有获取资源文件对应的文件流,然后转换到相对应的文件 //比较典型的做法是通过代码程序集加载指定资源 //如下通过Assembly的静态方法GetExecut ...

  2. java文件夹相关操作 演示样例代码

    java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...

  3. Oracle 参数文件及相关操作介绍

    Oracle 参数文件及相关操作介绍 by:授客 QQ:1033553122 1.服务器参数文件 服务器参数文件是一个二进制文件,作为初始化参数的存储仓库.实例运行时,可用ALTER SYSTEM来改 ...

  4. Java IO_001.File类--文件或文件夹相关操作

    Java IO之File对象常用操作 File类:用于文件或文件夹或网址相关联的操作.可以关联或不关联文件(即关联不存在的文件).构造函数有: public File(String pathname) ...

  5. python文件的相关操作

    python 目录 python 1.python文件的介绍 使用文件的目的 Python文件的类型主要有两种:文本文件和二进制文件. 操作文件的流程主要有三步:打开-操作-关闭操作. 2.文件的打开 ...

  6. 用 JSP 实现对文件的相关操作

    前段时间一直忙着作业,实验,动手的时间真是少之又少,今天终于可以继续和大家分享关于 JSP 的学习心得. 简单总结一下吧: JSP 理论性很强,感觉就是纯语法. 我更偏向于实际编写代码,这样更容易理解 ...

  7. linux基础——关于chmod用户权限和文件的相关操作

    第一部分:1) 新建用户natasha,uid为1007,gid为555,备注信息为“master” 操作:useradd natasha新建natasha:修改uid是,usermod -u 100 ...

  8. Day 07 文件的相关操作

    文件初始: 文件的三要素: path:文件的路径 mode:r w r+ w+ a encoding: 编码方式 # 打开一个文件的方法 f1 = open('e:\echo.txt', encodi ...

  9. c++ 文件位置相关操作

    教学内容:  l  文件定位操作 l  fgetpos定位 l  fsetpos设定位置 l  文件结束判断函数feof   一.文件定位操作 在C语言标准库里 获取文件位置的函数有ftell和fge ...

随机推荐

  1. java学习笔记——IO部分(遍历文件夹)

    用File类写的一个简单的工具,遍历文件夹,获取该文件夹下的所以文件(含子目录下的文件)和文件大小: /** * 列出指定目录下(包含其子目录)的所有文件 * @author syskey * */ ...

  2. js文字滚动效果实现

    纯js实现,完整代码如下: <!doctype html> <html lang="en"> <head> <meta http-equi ...

  3. 动态添加删除网卡 - 每天5分钟玩转 OpenStack(156)

    这是 OpenStack 实施经验分享系列的第 6 篇. 在项目实施过程中,经常会有添加删除网卡的需求.比如一个运行数据库的 instance,初始只有一个网卡,数据库服务和备份共用这块网卡,后来为提 ...

  4. VUE2.0实现购物车和地址选配功能学习第五节

    第五节 单件商品金额计算和单选全选功能 1.vue精髓在于操作data模型来改变dom,渲染页面,而不是直接去改变dom 2.加减改变总金额功能: html:<div class="c ...

  5. JS排序算法

    1.冒泡排序 冒泡算法是比较相邻的两项,如果前者比后者大,就交换他们. 假设一共有n项,那么一共需要n-1趟,第一趟需要交换n-1次,但是第一趟结束后,最后一项基本确定就是最大项了,所以第二次需要交换 ...

  6. Collection和Map

    (1)Collection和Map的继承体系. (2)ArrayList(数组).LinkedList(链表).Vector(线程同步).Stack(继承Vector先进后出的栈).PriorityQ ...

  7. golang中的rpc包用法

    RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样. 我所在公司的项目是采用基于Restful的微服务架构,随着微服 ...

  8. 选择 GCD 还是 NSTimer

    我们常常会延迟某件任务的执行,或者让某件任务周期性的执行.然后也会在某些时候需要取消掉之前延迟执行的任务. 延迟操作的方案一般有三种: 1.NSObject的方法: gcdTimer 2.使用NSTi ...

  9. 1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果

    1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 4 ...

  10. 搭建ftp服务器实现文件共享

    FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP(File Transfer Protocol ...