PLISSONS DE COMPRESSION - NSPROPERTYRISTÉRIALISATION VS PLUTIL?
-
11-12-2019 - |
Question
J'ai écrit un outil de ligne de commande simple pour un besoin spécial de convertir un fichier INI spécifique en une liste de propriétés.J'utilise NSPropertyListSerialization
pour écrire le dictionnaire vers un fichier de liste de propriétés binaires de 307 Ko.Cependant, lorsque je l'écris à XML et après le convertir en utilisant Plutil à une liste de propriétés binaires, le fichier est de 224 ko de taille.
J'aimerais enregistrer autant de données que possible, mais je souhaite également rester à l'écart de NSTask
.La question ici est, comment réaliseriez-vous les mêmes résultats du code que j'abîchais à l'aide de plutil
.
La solution
Selon Ce trèsVieux fil , plutil
recherchera des sous-arbres identiques tels que des tableaux et des uniques dans le plist résultant.NSPropertyListSerialization
utilisait cela il y a longtemps, mais cela a été supprimé car le processus est relativement lent et que les développeurs s'attendent à ce que la sérialisation fonctionne aussi vite que possible.
Après avoir googling autour, il ne semble pas que ce soit facile de trouver du code pour le faire vous-même.Vous devrez peut-être juste faire face à la petite différence de taille ou à tenter de rouler votre propre sérieliseur.