本文概要

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设计模式:单例设计

    1.单例设计Singleton的引出 单例设计,从名字上首先可以看出单---即只有一个,例---只的是实例化对象:那么单例也就是说一个类,只产生了一个实例化对象.但是我们都知道,一个类要产生实例化对象 ...

  2. xml中的SQL注入

    大家通常知道xml中大部分会导致外部实体注入,但是,xml也会出现SQL注入: 在xml中正常的sql语句写法有两种: 第一: <select id="selectById" ...

  3. js 封装原生ajax

    jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只需要ajax,这时引入jquery库会造成资源浪费,也会显得页面臃肿.这时我们就 ...

  4. jpush 延迟推送的栗子

    这个 推送是上个月做的, 上线之后没有问题,所以,我就把 这个整套代码 整理一哈,方便以后使用. 首先需求是这样的:  在比赛结束后的 10 钟 开始给 参加比赛的球员  发送消息,告诉他们比赛的信息 ...

  5. Python 3中字符串可以被改变吗?

    Python 3中字符串可以被改变吗? 字符串有改变这个方法的:replace,比如: a = 'lkjhgfdsa' a.replace(') '123kjhgfdsa' #返回结果 从上面这个例子 ...

  6. sql查询表说明

    一条神奇的sql语句 可以查询到数据库表的说明信息.如下:希望可以帮到大家 SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说 ...

  7. 【js】函数问题

    一.函数重载问题: 由于js的函数传入的参数当做arguments对象(和数组类似,但不是Array的实例),传入的参数类型和数量没有限制,没有函数签名,所以如果要实现重载功能 的话,只能是不够完美得 ...

  8. Objective-C日记-之类别Category

    类别Category 1,概述 为现有类添加新的方法,这些新方法的Objective-C的术语为“类别”. 2,用法 a,声明类别 @interface NSString(NumberConvenie ...

  9. 每天一个Linux命令 1

    nl命令在Linux系统中用来计算文件中行号.nl可以将输出的文件内容自动的加上行号!其默认的结果与cat -n有点不太一样,nl可以将行号做比较多的显示设计,包括位数与是否自动补齐0等等的功能. 1 ...

  10. 初用Linux, 安装Ubuntu16.04+NVIDIA387+CUDA8.0+cudnn5.1+TensorFlow1.0.1

    因为最近Deep Learning十分热门, 装一下TensorFlow学习一下. 本文主要介绍安装流程, 将自己遇到的问题说明出来, 并记录自己如何处理, 原理方面并没有能力解释. 由于本人之前从来 ...