iOS Enregistrer et éditer / supprimer des données de Plist


Exemple

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.