Est-ce que writeToFile: de manière atomique, ajoute des données à un .plist existant? Est-il possible de modifier une valeur dans un .plist? L'application devrait-elle être recompilée pour prendre en compte le changement?objectif-c Ajouter/Éditer le fichier .plist
J'ai une liste .plist personnalisée dans mon application. La structure est la suivante:
<array>
<dict>
<key>Title</key>
<string>MyTitle</string>
<key>Measurement</key>
<dict>
<key>prop1</key>
<real>28.86392</real>
<key>prop2</key>
<real>75.12451</real>
</dict>
<key>Distance</key>
<dict>
<key>prop3</key>
<real>37.49229</real>
<key>prop4</key>
<real>58.64502</real>
</dict>
</dict>
</array>
La balise de tableau contient plusieurs éléments de même structure. Je dois ajouter des éléments à la .plist existante. Est-ce possible? Je peux écrire un UIView pour le faire, si c'est le cas.
* EDIT - OK, j'ai juste essayé d'écrire en espérant qu'il écrirait au moins écraser si pas ajouter à lui. Curieusement, le code suivant sélectionne un chemin différent lors de la lecture et de l'écriture.
NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
Le fichier .plist est dans mon projet. Je peux lire à partir de là. Quand j'écris dessus, il crée un fichier .plist et l'enregistre dans mon /users/.../library/! Est-ce que ceci signifie quelque chose pour quelqu'un?
Absolument correct. Vous ne devriez jamais écrire dans les fichiers de l'ensemble de votre application. Les utilisateurs sans privilèges d'administrateur n'ont généralement pas l'autorisation de le faire. Si vous avez besoin de stocker des données persistantes, stockez-les dans '~/Library/Application Support' ou utilisez' NSUserDefaults'. –
Merci. Logique. – Dave