我编写了一个简单的命令行工具,特别需要将特定的ini文件转换为属性列表。我正在使用NSPropertyListSerialization
将Dictionary写入307kb的二进制属性列表文件。但是,当我将它写入XML并使用 plutil 将其转换为二进制属性列表后,该文件的大小仅为224kb。
我想尽可能多地保存数据,但我也希望远离NSTask
。这里的问题是,如何使用plutil
实现与代码相同的结果。
答案 0 :(得分:0)
根据this very old thread,plutil
将查找相同的子树,例如数组,并在生成的plist中将它们唯一。很久以前NSPropertyListSerialization
曾经这样做过,但是这个被删除了,因为这个过程相对较慢,开发人员希望序列化能够尽快运行。
在谷歌搜索后,看起来很容易找到自己做的代码。您可能只需要处理小的差异,或尝试滚动自己的序列化器。