本文概要

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. 用qemu搭建aarch64学习环境

    作者信息 作者: 彭东林 邮箱: pengdonglin137@163.com QQ: 405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linu ...

  2. android shell常用命令

     du -sm foldername 查看文件夹foldername 的大小,单位是兆(m),du -sk foldername单位是k    adb shell rm -r /mnt/sdcard/ ...

  3. java与javac的区别

    1.前提:java分为两部分 一个是编译(javac命令),一个是运行(java命令) 2.java与javac的区别 javac负责的是编译,将.java文件编译成.class文件,当执行javac ...

  4. MySQL主从复制与主主复制

    1.简介 MySQL作为世界上使用最为广泛的数据库之一,免费是其原因之一.但不可忽略的是它本身的功能的确很强大.随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求.此时 ...

  5. perl 获取系统时间

    最近需要将字符串转换成时间,找了下资料,实战如下,发现时timelocal费了些时间 strftime也可在 c / c++ / awk / php 中使用,用法基本一致. 这个也不错 $time = ...

  6. .NET的SqlHelper应用代码

    首先需要引用命名空间 ,同时也需要右击'引用' --> '添加引用' --> '程序集' --> '框架' --> 'System.Configuration',SqlHelp ...

  7. Java Web(十四) 编写MyBookStore项目的总结

    这几天一直没有发博文,原因是在写一个书城的小项目,作为web学习的最后沉淀,接下来就要到框架的学习了. --WH 一.项目介绍 从网上找的一个培训机构的小项目,名称叫做 书城购物网站 吧,其中就是分前 ...

  8. AR入门系列-07-Vuforia柱形体识别

    今天为大家带来Vuforia柱形体识别的使用教程 首先我们要进入Vuforia官网在TargetManager中添加Target,这次我们添加的类型为Cylinder圆柱 Bottom Diamete ...

  9. 1753: [Usaco2005 qua]Who's in the Middle

    1753: [Usaco2005 qua]Who's in the Middle Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 290  Solved:  ...

  10. 网络AFNetworking 3.1

    下面的类已从AFNetworking 3.0中废弃: AFURLConnectionOperation AFHTTPRequestOperation AFHTTPRequestOperationMan ...