我编写了一个简单的命令行工具,用于将特定的 ini 文件转换为属性列表的特殊需要。我正在使用NSPropertyListSerialization
将字典写入 307kb 的二进制属性列表文件。但是,当我将其写入 XML 并使用plutil将其转换为二进制属性列表后,该文件的大小仅为 224kb。
我想尽可能多地保存数据,但我也想远离NSTask
. 这里的问题是,我如何从代码中获得与使用plutil
.
我编写了一个简单的命令行工具,用于将特定的 ini 文件转换为属性列表的特殊需要。我正在使用NSPropertyListSerialization
将字典写入 307kb 的二进制属性列表文件。但是,当我将其写入 XML 并使用plutil将其转换为二进制属性列表后,该文件的大小仅为 224kb。
我想尽可能多地保存数据,但我也想远离NSTask
. 这里的问题是,我如何从代码中获得与使用plutil
.
根据这个非常古老的线程,plutil
将寻找相同的子树,例如数组,并在生成的 plist 中使它们唯一。NSPropertyListSerialization
很久以前就这样做了,但是由于过程相对较慢,并且开发人员希望序列化尽可能快地工作,因此将其删除。
在谷歌搜索之后,它看起来并不容易找到自己执行此操作的代码。您可能只需要处理大小上的微小差异,或者尝试推出自己的序列化程序。