Вопрос

Я написал простой инструмент командной строки для особых случаев преобразования определенного INI-файла в список свойств.Я использую NSPropertyListSerialization записать словарь в двоичный файл списка свойств размером 307 КБ.Однако когда я пишу его в XML и после преобразования с помощью плютил в списке двоичных свойств размер файла составляет всего 224 КБ.

Я хотел бы сохранить как можно больше данных, но я также хочу держаться подальше от NSTask.Вопрос здесь в том, как мне добиться тех же результатов с помощью кода, что и при использовании plutil.

Это было полезно?

Решение

В соответствии с это очень старая тема, plutil будет искать идентичные поддеревья, такие как массивы, и уникализировать их в результирующем списке. NSPropertyListSerialization Раньше это делалось давным-давно, но это было удалено, поскольку процесс относительно медленный и разработчики ожидают, что сериализация будет работать как можно быстрее.

После поиска в Google кажется, что найти код, позволяющий сделать это самостоятельно, будет непросто.Возможно, вам просто придется иметь дело с небольшой разницей в размерах или попытаться создать собственный сериализатор.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top