Les fichiers Plist sont des conteneurs pour les dictionnaires de données utilisés dans l’iPhone ou l’iPad.
En enregistrant des fichiers Plist sur l’appareil de l’utilisateur, vous pouvez ainsi conserver des données comme une liste de favoris, des préférences utilisateur ou encore des contenus saisis (brouillons, notes).
Le code suivant illustre la création d’un dictionnaire et son enregistrement.
Tout d’abord, il faut créer un dictionnaire qui contiendra les données à enregistrer.
NSMutableDictionary *tempDict = [[NSMutableDictionary alloc] init];
Ajoutez quelques paires clé/valeur.
[tempDict setValue:[NSNumber numberWithInt:123] forKey:@"id"]; [tempDict setValue:@"Maths" forKey:@"title"]; [tempDict setValue:[NSNumber numberWithFloat:12.5] forKey:@"note"];
Pour conserver le fichier entre les différentes sessions d’utilisation de l’application, celui-ci doit être enregistré dans le dossier Documents de l’iPhone. Pour récupérer le chemin vers le fichier UserList.plist (à créer ou écraser) utilisez le code suivant :
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *path = [documentsDirectory stringByAppendingPathComponent:@"UserList.plist"];
Il ne reste plus qu’à écrire le fichier.
(Ici avec le résultat de l’écriture en console)
NSLog(@"Write to %@.\nResult : %i", path, [tempDict writeToFile:path atomically: YES]);
L’argument atomically spécifie si une copie de sauvegarde du fichier existant doit être réalisée avant l’écriture du nouveau fichier.
Pour accéder au contenu du fichier écrit, voir le TIP: Lire un fichier Plist (iPhone/iPad).

Bonjour
est-il possible d’écrire des données dans un fichier plist et quel est le code pour écrire dans un fichier plist ?
Charlotte,
Pour écrire un fichier Plist, il faut se référer à la dernière ligne de code de l’article.
Cordialement,
Benoit
Bonjour et merci pour cet exemple.
Cependant comment faire pour enregistrer plusieurs données à la suite ? Car ici à chaque nouvelle demande d’enregistrement, les anciennes valeurs sont remplacées par les nouvelles. Je voudrais moi qu’elles se mettent à la suite !
Merci d’avance pour la réponse !
Bonjour Shon,
Il suffit de créer un tableau qui sera stocké pour une clé et d’ajouter au fur et a mesure des valeurs dans le tableau.
NSMutableArray *tb = [...]
[tempDict setValue:tb forKey:@"mon_tableau"];
Bonjour,
Je voudrais savoir le code pour supprimer tout le contenu de mon fichier plist.
Pour linstant j’arrive que à vider dans la memoir mais le fichier plist reste inchanger.
Merci d’avance.
Bonjour,
Pour écrire un PLIST vide, il suffit d’écrire un dictionnaire vide.
Initialisez le dictionnaire et écrivez-le.
NSMutableDictionary *tempDict = [[NSMutableDictionary alloc] init];[tempDict writeToFile:path atomically: YES]
Cordialement,
Benoit