Plist文件介绍
开发IOS遇到数据,这里专门做frame sprite数据说明
plist
plist是property list的缩写。plist中包括一些命名值和使用Core Foundation类型创建的值的列表。这些类型包括CFString, CFNumber, CFBoolean, CFData, CFDate, CFArray, 以及CFDictionary。利用这些类型创建的数据能够高效的组织、存储和访问。plist编程接口使得分级组织的数据类型能够和XML之间相互转换。XML数据可以存储下来以便以后重建原来的一些Core Fundation对象。plist应当用于主要是由字符串和数字组成的数据,否则的话它一般效率都会较低。
plist主要有Core Fundation类型构成,也可以将这些类型放入CFDictionary和CFArray中以便构成更复杂的数据类型。在property list中,<plist>表示将property list转换为XML表。Core Fundationary类型与XML对应关系为:
Core Fundation XML
CFString <string>
CFNumber <real> 或 <integer>
CFDate <date>
CFBoolean <true/> 或 <false/>
CFData <data>
CFArray <array>
CFDictionary <dict>
在CFDictionary中数据主要由键值对组成。因此在XML中,CFDictioary成员的键对应为<key>,之后便是它相应的值。
我们这里主要介绍下命名值<key>的定义
frames 帧组
imagePath <dict> fame,offset,rotated,sourceColorRect,sourceSize <dict>
-------------------------------------------------------------------
frame 帧 <string> {{xInImage,yInImage},{w,h}}</string>
offset 相对于锚点的便移 <string>{offsetx,offsety}</string>
rotated 是否旋转 <flase/>
sourceColorRect ??
sourceSize ??
-------------------------------------------------------------------
metadata <dict>format,smartupdate,realTextureFileName<dict>
format plist格式 <integer>2</integer>
smartupdate ??
realTextureFileName 图片集合名称 <string>aaa.png</string>
A).写入plist文件:(Dictionary/Array)
NSMutableDictionary* dict = [ [ NSMutableDictionary alloc ] initWithContentsOfFile:@"/Sample.plist" ];
[ dict setObject:@"Yes" forKey:@"RestartSpringBoard" ];
[ dict writeToFile:@"/Sample.plist" atomically:YES ];
B).读取plist文件:
//读取工程中的plist,初始化Dictionary。
NSMutableDictionary* dict = [ [ NSMutableDictionary alloc ] initWithContentsOfFile:@"/Sample.plist" ];
NSString* object = [ dict objectForKey:@"RestartSpringBoard" ];
//读取目录下的plist文件到 NSMutableDictionary 中
NSMutableDictionary* dictplist = [[NSMutableDictionary alloc ] initWithContentsOfURL:[NSURL fileURLWithPath:path]];
Plist文件介绍的更多相关文章
- ios开发之Info.plist文件相关配置
前言:在iOS开发中有些情况下需要对Info.plist文件进行配置,以下介绍几种相关配置.以后遇到需要配置的再更新... 开发环境:swift3.0.1,Xcode8.1 一,项目中需要使用第三方字 ...
- 【IOS】 XML解析和xml转plist文件(GDataXML)
iOS对于XML的解析有系统自带的SDK--NSXMLParser,鄙人愚拙,只会用GDataXML进行解析,这里仅介绍GData的使用.(以下图为例) 1.对于一个xml文件,先读取出来 NSDat ...
- Swift - .plist文件数据的读取和存储
每次在Xcode中新建一个iOS项目后,都会自己产生一个.plist文件,里面记录项目的一些配置信息.我们也可以自己创建.plist文件来进行数据的存储和读取. .plist文件其实就是一个XML格式 ...
- ios 简单的plist文件读写操作(Document和NSUserDefaults)
最近遇到ios上文件读写操作的有关知识,记录下来,以便以后查阅,同时分享与大家. 一,简单介绍一下常用的plist文件. 全名是:Property List,属性列表文件,它是一种用来存储串行化后的对 ...
- plist文件的相关操作
本文概要 1.plist文件的简介 2.在Xcode中创建plist文件 3.在Xcode中将plist文件转换成数组或者字典对象 4.将数组或者字典对象转换成plist文件并且存储 详细介绍 1.p ...
- iOS 打包.framework(包括第三方、图片、xib、plist文件)详细步骤及需要注意的地方
https://www.cnblogs.com/yk123/p/9340268.html // 加载自定义名称为Resources.bundle中对应images文件夹中的图片// 思路:从mainb ...
- IOS-项目中常见文件介绍
一.项目文件结构示意图 二.文件介绍 1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件 2.frameworks文件夹主要用来放依赖的框架 3.test文件夹是 ...
- [How to]如何自定义plist文件和读取plist文件内容
1.简介 plist作为IOS的固化文件,就好比java中properties文件,但是在IOS中plist是可读写的. 本文将介绍自定义静态的plist文件. 2.自定义静态plist文件 右击你的 ...
- iOS中Info.plist文件的常见配置
. 在创建一个新的Xcode工程后,会 在Supporting Files文件夹下自动生成一个工程名-Info.plist的文件,这个是对工程做一些运行期配置的文件(很重要,必须有该文件). 如果使用 ...
随机推荐
- Ooui:在浏览器中运行.NET应用 Ooui.Wasm:浏览器中的.NET
在过去数年中,桌面应用开发人员一直处境艰难,因为人们的主要关注点聚焦于Web和移动应用.由于Microsoft未来Windows平台的计划未定,并且UWP应用也没有突破性进展,因此技术落伍的责任也不应 ...
- STL容器分析--stack
stack,顾名思义,表示栈,先进后出.
- PT100三线制恒流源接法
http://www.eepw.com.cn/article/189480_2.htm 下图为恒流源激励的三线制Pt100的一种典型接法.其基本原理是假设Pt100的三条引线采用相同长度的同型线缆,具 ...
- ui-router参数传递
基本参数: ‘/user/:id' '/user/{id}' '/user/{id:int}' 使用正则表达式: '/user/{id:[0-9]{1,8}' '/user/{id:.*}' '/us ...
- poj1860--Currency Exchange
Bellman-ford算法的反向应用--正循环检查 /** \brief poj 1860 Bellman-Ford * * \param date 2014/7/24 * \param state ...
- c#动态类型
class Program { static void Main(string[] args) { dynamic test = new ExpandoObject(); test.Name = &q ...
- Atitit.jpg png格式差别以及解决jpg图片不显示的问题
Atitit.模板引擎原理以及常见模板技术 1. Asp Php jsp smarty模板1 1.1. 模板引擎基本原理1 1.2. 调试模式原理2 2. Attilax总结的模板引擎原理2 3. 支 ...
- 491. Palindrome Number【easy】
Check a positive number is a palindrome or not. A palindrome number is that if you reverse the whole ...
- superobject 序列数据集
unit uDBJson; interface {$HINTS OFF} uses SysUtils, Classes, Variants, DB, DBClient, SuperObject; ty ...
- java全局变量使用
1.在多线程的作用下,全局变量可能被多个程序使用,如果有人修改,全局变量就被修改了,导致别人使用的时候,出现问题 2.解决方法: 全局变量改为私有变量. 或者把全局变量改为final类型,只能读取,不 ...