在其他环境中使用Plists
Pists是否仅限于在OSX和iOS系统上使用?
我正在考虑我的应用程序的架构,并且通过Plist将数据导入iPhone应用程序的许多方法之一也可以保存到它。
现在,如果说plist能够以原始格式从应用程序中导出,是否可以通过Android或Windows Phone格式访问? 还是需要转换?
我理解它的方式是Plist是XML格式吗? 我可能错了,但是当我看到它时,这就是我可以组成的文件。
干杯
你是对的。 Plist实际上是一个带有plist header
的xml
格式文件,可以被任何xml parser
。 由于xml
可以在各种环境中使用, plist
可以做同样的事情。 只需将其后缀更改为xml
,您就可以随心所欲。
如“ 属性列表编程指南”中所述, 属性列表是以下任何一种:
- 一个字符串
- 一大堆二进制数据
- 一个约会
- 整数
- 一个浮点数
- 一个布尔值
- 一系列属性列表
- 一个字典,其键是字符串,其值是属性列表
序列化属性列表有两种常用方法。
一种是你知道的XML格式。 这种格式有点记录在plist(5)
手册页上 。
另一种是二进制格式,它更紧凑,编码和解码速度更快。 它没有在任何地方正式记录,但其格式在CFBinaryPlist.c
的注释和代码中CFBinaryPlist.c
,它包含在Apple的Core Foundation框架的开源版本中。
如果您的数据不使用日期或二进制blob,您可能会发现使用JSON比使用XML plist更容易。 从iOS 5和OS X 10.7(Lion)开始,Apple提供了NSJSONSerialization
类来序列化和反序列化JSON,并且在阳光下几乎所有平台和语言都有JSON库。