在其他环境中使用Plists

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

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

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

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

干杯

你是对的。 Plist实际上是一个带有plist headerxml格式文件,可以被任何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库。