Home

Tutorial AppleScript Studio

Chapitre 3 - Sauvegarde des données en p-list -

Etape 1 - Création d'une p-list

Sous Léopard - xCode 3.0

Apple utilise le format p-list pour stocker les informations des logiciels. C'est un format de type HTML avec balises. En exemple, ouvrez le dossier /Library/Preference/ de votre dossier utilisateur.

Ce format est de lisibilité pénible par TextEdit ou autre. Mais bonheur, l'utilitaire "Property List Editor", lit les balises, et vous présente les données de manière tout à fait lisibles.

Le volume de données de notre application étant faible, et les performances de gestions des p-list étant bonnes, nous utiliserons la technique de p-list pour stocker nos données.

Pour cela il nous faudra :

  1. Créer notre p-list personnelle.
  2. Sauver nos données dans notre p-list à la fermeture de notre application.
  3. Lire la p-list à l'ouverture de notre application, et charger la data source.
  4. Gérer la première fois où notre p-list n'existe pas.


A quoi ressemble une p-list


Examinons une p-list particulière, celle de notre application "MonLogiciel".


image
Léopard - Photo 10


Utilisons l'utilitaire "Property List Editor" pour lire "Info.plist" de MonLogiciel".


image
Léopard - Photo 14



CFBundleIdentifier est le paramètre pour définir la plist utilisateur. IL faudra remplacer la valeur "com.apple.ASApplication" par un nom à soi. Sinon, toutes les applications utiliseront cette même plist. Donc, s'écraseront les uns les autres.

Lisons "Info.plist dans le projet xCode.


image
Léopard - Photo 18



Pour avoir un nom de p-list à moi, j'ai remplacé "com.apple.ASApplication" par "com.legallou.MonLogiciel" dans "CFBundleIdentifier".


image
Léopard - Photo 20

L'usage est de mettre son domaine en verlan pour réduire les risques d'interférence.

Votre fichier p-list sera stocké dans votre /Library/Preference/ de votre dossier utilisateur.



Faites "Save".



Création de la p-list


Le fichier p-list est créé par la commande suivante :


tell user defaults --  Création de la p-list--------


make new default entry at end of default entries with properties {name:"NotesToutes", contents:mesNotes}


end tell



"default entry" est le nom de code pour désigner la p-list des préférences.

name:"NotesToutes" donne NotesToutes comme nom d'entrée pour la liste de données dans la p-list.

Et mesNotes est la variable contenant les données à stocker dans la p-list.

Vous pouvez créer autant d'entrée, name:"NotesToutes", name:"xyz", name:"etc" que vous voulez dans une plist.

A chaque fois que vous lancerez la commande, l'entrée sera mise à jour. Le fichier, lui-même sera créé la première fois, et mis à jour par la suite.






Pour stocker des données dans la p-list

set contents of default entry "NotesToutes" to mesNotes

Cette commande transfert les données de la liste mesNotes vers la p-list.

La variable mesNotes est une liste de la forme {"aa", "bb",....} obtenue par définition d'une liste initiale, ou à partir de la data source de notre tableau.


set mesNotes to content of contents of notesDataSource as list


notesDataSource à été définie à la création de la data source, et mis en variable global pour ne pas à avoir à la redéfinir à chaque fois.


Ne perdons pas de vu que si notre exemple est le stockage de toutes les données d'un tableau dans l'entrée "NotesToutes", une entrée peut être une valeur unique, par exemple un paramètre de vos propres préférences. La p-list "Info.plist" en est un bon exemple.



Le code complet mis dans une subroutine.


image
Léopard - Photo 30


Et sera appelé où nécessaire, entre autres, impérativement juste avant la fermeture.


image
Léopard - Photo 34


Pour cela n'oubliez pas de cocher "should quit" pour l'application image.


image
Menu Léopard - Photo 40






La suite - Lecture de la p-list


Page précédente

Page suivante


Merci de votre visite


UP