[CoreData] Comportement étrange lors de la suppression d'un NSManagedObject
npanti
Membre
Hello pommedev,
J'ai un comportement bizar lorsque je veux supprimer un NSManagedObject dans ma bdd CoreData.
Pour supprimer une entrée dans ma bdd j'utilise la fonction suivante:
Lorsque je lance mon programme et que je veux directement supprimer un stock, pas de problème ça fonctionne. Maintenant si j'ajoute un stock et que je veux en supprimer un ensuite, la ça bug ma fonction du suppression ne fonctionne plus, [result count] est nulle. Si j'éteint le programme et le relance et que je tente de supprimer le stock, la ça fonctionne.
Je comprend vraiment pas pourquoi ???
Merci d'avance pour votre aide
J'ai un comportement bizar lorsque je veux supprimer un NSManagedObject dans ma bdd CoreData.
Pour supprimer une entrée dans ma bdd j'utilise la fonction suivante:
- (void)removeStockWithName:(NSString *)name andDescriptions:(NSString *)descriptions {<br /><br /> NSManagedObjectContext *moc = [self managedObjectContext];<br /> <br /> NSEntityDescription *stockEntity = [NSEntityDescription entityForName:@"Stock" inManagedObjectContext:moc];<br /> <br /> NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];<br /> [request setEntity:stockEntity];<br /> <br /> NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@ AND descriptions == %@", name, descriptions];<br /> [request setPredicate:predicate];<br /> <br /> NSError *error = nil;<br /> NSArray *result = [moc executeFetchRequest:request error:&error];<br /> <br /> NSLog(@"Result count %ld", [result count]);<br /> if ([result count] == 0) {<br /> return;<br /> }<br /> [moc deleteObject:[result objectAtIndex:0]];<br /> <br /> [self saveAction:nil];<br /> <br /> [self sendUpdateStockListNotification];<br />}
Lorsque je lance mon programme et que je veux directement supprimer un stock, pas de problème ça fonctionne. Maintenant si j'ajoute un stock et que je veux en supprimer un ensuite, la ça bug ma fonction du suppression ne fonctionne plus, [result count] est nulle. Si j'éteint le programme et le relance et que je tente de supprimer le stock, la ça fonctionne.
Je comprend vraiment pas pourquoi ???
Merci d'avance pour votre aide
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses