Recherche…


Introduction

Plist est utilisé pour stocker des données dans l'application iOS. Plist enregistrer les données sous forme de tableau et de dictionnaires. En résumé, nous pouvons enregistrer des données en tant que: 1. Données statiques à utiliser dans l'application. 2. Les données qui proviendront du serveur.

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

entrer la description de l'image ici

b) Cliquez sur Liste de propriétés dans Ressources

entrer la description de l'image ici

c) Nommez la propriété et un fichier sera créé comme (data.plist ici)

entrer la description de l'image ici

d) Vous pouvez créer une liste de tableaux et de dictionnaires comme suit:

entrer la description de l'image ici

// 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.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow