Recherche…
Introduction
Exemple:
1. Données statiques à utiliser dans l'application.
Pour enregistrer des données statiques dans plist, procédez comme suit:
a) Ajouter un nouveau fichier
b) Cliquez sur Liste de propriétés dans Ressources
c) Nommez la propriété et un fichier sera créé comme (data.plist ici)
d) Vous pouvez créer une liste de tableaux et de dictionnaires comme suit:
// Lit plist à partir de bundle et récupère le dictionnaire racine
NSDictionary *dictRoot = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]];
// Votre dictionnaire contient un tableau de dictionnaire // Retirez maintenant un tableau.
NSArray *arrayList = [NSArray arrayWithArray:[dictRoot objectForKey:@"Object1"]];
for(int i=0; i< [arrayList count]; i++)
{
NSMutableDictionary *details=[arrayList objectAtIndex:i];
}
Enregistrer et éditer / supprimer des données de Plist
Vous avez déjà créé un plist. Ce plist restera le même dans app. Si vous souhaitez modifier les données dans cette liste, ajouter de nouvelles données dans plist ou supprimer des données de plist, vous ne pouvez pas apporter de modifications à ce fichier.
À cette fin, vous devrez stocker votre liste dans Répertoire de documents. Vous pouvez modifier votre pliste enregistré dans le répertoire du document.
Enregistrez plist dans le répertoire du document en tant que:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:filePath];
NSDictionary *plistDict = dict;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *error = nil;
NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:plistDict format:NSPropertyListXMLFormat_v1_0 errorDescription:&error];
if (![fileManager fileExistsAtPath: plistPath]) {
if(plistData)
{
[plistData writeToFile:plistPath atomically:YES];
}
}
else
{
}
Récupérer les données de Plist en tant que:
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
NSArray *usersArray = [dict objectForKey:@"Object1"];
Vous pouvez modifier supprimer, ajouter de nouvelles données selon vos besoins et enregistrer le plist à nouveau dans le répertoire de documents.