Modificar .plist con cambios de shell .plist order

2

Escribí un comando de shell simple y lo guardé como .command . El comando de shell es simplemente: defaults write /Users/Milo/Desktop/MyPlist "My Key" "My Entry" . El problema que tengo es que después de ejecutar ese comando, se confunde con el orden del archivo plist. Normalmente esto no sería un problema, excepto que escribí una aplicación que analiza el plist, y lo hace de acuerdo con el orden de las claves en el archivo. No quiero cambiar mi aplicación solo para acomodar una lista aparentemente aleatoria ordenada que se devuelve después de ejecutar el comando. ¿Cómo puedo hacer que el comando no reordene mi lista?

    
pregunta Milo 17.03.2014 - 04:31

1 respuesta

2

El orden de los pares de valores clave dentro de un Lista de propiedades , plist , la estructura del diccionario no se especifica y no se puede confiar en ella.

Idealmente, tu aplicación necesita analizar la lista de propiedades sin depender del orden de los pares de diccionarios.

Si el orden es crítico para su aplicación, considere cambiar la estructura de la lista de propiedades a una matriz de diccionarios; donde cada diccionario contiene un solo par de valores clave.

Si no puedes cambiar tu aplicación, y la lista de propiedades está formateada como XML, entonces es posible que desees investigar otras herramientas de manipulación de XML de la línea de comandos.

    
respondido por el Graham Miln 17.03.2014 - 08:50

Lea otras preguntas en las etiquetas