Comment écrire une donnée dans plist?

J'ai suivi cette réponse pour écrire des données à la plist

Comment écrire des données à la plist?

Mais jusqu'ici mon plist n'a pas changé du tout.

Voici mon code: –

- (IBAction)save:(id)sender { NSSsortingng *path = [[NSBundle mainBundle] pathForResource:@"drinks" ofType:@"plist"]; NSSsortingng *drinkName = self.name.text; NSSsortingng *drinkIngredients = self.ingredients.text; NSSsortingng *drinkDirection = self.directions.text; NSArray *values = [[NSArray alloc] initWithObjects:drinkDirection, drinkIngredients, drinkName, nil]; NSArray *keys = [[NSArray alloc] initWithObjects:DIRECTIONS_KEY, INGREDIENTS_KEY, NAME_KEY, nil]; NSDictionary *dict = [[NSDictionary alloc] initWithObjects:values forKeys:keys]; [self.drinkArray addObject:dict]; NSLog(@"%@", self.drinkArray); [self.drinkArray writeToFile:path atomically:YES]; } 

Ai-je besoin d'effectuer quelque chose en plus?

Je suis nouveau à l'iPhone SDK donc toute aide serait appréciée.

    Vous essayez d'écrire le file dans votre set d'applications, ce qui n'est pas possible. Enregistrez le file dans le dossier Documents à la place.

     NSSsortingng *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; path = [path ssortingngByAppendingPathComponent:@"drinks.plist"]; 

    La méthode pathForResource ne peut être utilisée que pour lire les ressources que vous avez ajoutées à votre projet dans Xcode.

    Voici ce que vous faites généralement lorsque vous voulez modifier un plist dans votre application:
    1. Copiez le file drinks.plist de votre set d'applications dans le dossier Documents de l'application au premier lancement (à l'aide de NSFileManager ).
    2. N'utilisez le file que dans le dossier Documents lors de la lecture / écriture.

    METTRE À JOUR

    Voici comment vous initialiseriez la propriété drinkArray :

     NSSsortingng *destPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; destPath = [destPath ssortingngByAppendingPathComponent:@"drinks.plist"]; // If the file doesn't exist in the Documents Folder, copy it. NSFileManager *fileManager = [NSFileManager defaultManager]; if (![fileManager fileExistsAtPath:destPath]) { NSSsortingng *sourcePath = [[NSBundle mainBundle] pathForResource:@"drinks" ofType:@"plist"]; [fileManager copyItemAtPath:sourcePath toPath:destPath error:nil]; } // Load the Property List. drinkArray = [[NSArray alloc] initWithContentsOfFile:destPath];