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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top