在其他环境中使用Plists

时间:2012-11-13 05:23:34

标签: ios xml cross-platform plist

Pists是否仅限于在OSX和iOS系统上使用?

我正在考虑我的应用程序的架构,并且通过Plist将数据导入iPhone应用程序的众多方法之一也可以保存到它。

现在,如果说plist能够以原始格式从应用程序中导出,是否可以通过Android或Windows Phone格式访问?还是需要转换?

我理解的方式是Plist是XML格式吗? 我可能错了,但是当我看到它时,这就是我可以组成的文件。

干杯

2 个答案:

答案 0 :(得分:3)

Property List Programming Guide中所述,属性列表是以下任何一种:

  • 一个字符串
  • 一团二进制数据
  • 约会
  • 一个整数
  • 一个浮点数
  • 布尔值
  • 一系列属性列表
  • 一个字典,其键是字符串,其值是属性列表

有两种常用的方法可以序列化属性列表。

一种是你知道的XML格式。这种格式记录在plist(5) man page

另一种是二进制格式,它更紧凑,编码和解码速度更快。它没有在任何地方正式记录,但其格式在CFBinaryPlist.c的注释和代码中描述,该注释和代码包含在Apple的Core Foundation框架的开源版本中。

如果您的数据不使用日期或二进制blob,您可能会发现使用JSON比使用XML plist更容易。从iOS 5和OS X 10.7(Lion)开始,Apple提供NSJSONSerialization class来序列化和反序列化JSON,并且在阳光下几乎所有平台和语言都有JSON库。

答案 1 :(得分:1)

你是对的。 Plist实际上是一个带有xml的{​​{1}}格式文件,可由任何plist header解析。由于xml parser可用于各种环境,xml可以执行相同的操作。只需将其后缀更改为plist即可,您可以随意执行任何操作。