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]];
最新文章
- SQL Server 迁移数据到MySQL
- (转)深入理解javascript连续赋值表达式
- How Do Annotations Work in Java?--转
- hdu1520 Anniversary party (树形dp)
- 泛型容器单元(Generics.Collections)[2]: TQueue<;T>; 队列列表
- 向ES6看齐,用更好的JavaScript(二)
- ASP.NET的简单与面向对象开发
- Phonegap开发的前后台数据交互
- 09_linux下安装Nvidia显卡驱动
- .Net程序员 Solr-5.3之旅 (二)Solr 安装
- 做量化模型Matlab、R、Python、F#和C++到底选择哪一个?
- 如何合并相同数据并转置(mysql)实现
- 01.由浅入深学习.NET CLR 基础系列之CLR 的执行模型
- 使用awk截取某时间段的日志
- LVDS/RGB转EDP稳定方案----NCS8801S
- ubuntu16.04下安装windows10(傻瓜式)
- 开发一个http代理服务器
- python开发:python基本数据类型
- ROS机器人程序设计(原书第2版)补充资料 (伍) 第五章 计算机视觉
- Linux - Shell变量的配置守则