本文概要

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. devexpress设置系统全局字体(含工具栏字体)

    1.许多时候,都需要设置系统的字体.devexpress设置字体效果图比较如下: 上图比较可以看出,字体应用到了所有控件. 2.数据绑定代码: DataTable dt = new DataTable ...

  2. Tree on the level UVa122

    很单纯的树的遍历,但是输入和方向好麻烦!!下面给出代码,题目来自UVa 122 #include<cstdio> #include<cstring> #include<v ...

  3. ios用户体验

    如果转载此文,请注明出处:http://blog.csdn.net/paulery2012/article/details/25157347,谢谢! 前言: 本文是在阅读<ios用户体验> ...

  4. 【openstack N版】——认证服务keystone

    一. 基础环境 1.1环境介绍 linux-node1(控制节点) #系统版本 [root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux r ...

  5. Android 反射-换一种方式编程

    Android 反射-换一种方式编程 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/59109933 本文出自[赵彦军的博客] 上一 ...

  6. python之数据库(mysql)操作

    前言: 最近开始学django了,学了下web框架,顿时感觉又会了好多知识.happy~~ 这篇博客整理写下数据库基本操作,内容挺少.明天写SQLAlchemy. 一.数据库基本操作 1. 想允许在数 ...

  7. html基础知识2(有序无序列表,表格)2017-03-08

    摘要:php 基础知识2   重点:有序无序列表:<a>标签:<table>标签  内容容器 1.段落标签 <p></p> 注: 执行前后换行,并空一行 ...

  8. Android: DrawerLayout 侧滑菜单栏

    DrawerLayout是SupportLibrary包中实现的侧滑菜单效果的控件. 分为主内容区域和侧边菜单区域 drawerLayout本身就支持:侧边菜单根据手势展开与隐藏, 开发者只需要实现: ...

  9. hibernate从数据库中自动生成

    计应134(实验班) 李佳鸿 DB Brower配置 1.依次选择window-Open Perspective-MyEclipse Explorer

  10. ABP入门系列(14)——应用BootstrapTable表格插件

    ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 之前的文章ABP入门系列(7)--分页实现讲解了如何进行分页展示,但其分页展示仅适用于 ...