[CoreData] Comportement étrange lors de la suppression d'un NSManagedObject

npantinpanti Membre
juillet 2010 modifié dans API AppKit #1
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:
- (void)removeStockWithName:(NSString *)name andDescriptions:(NSString *)descriptions {<br /><br />	NSManagedObjectContext *moc = [self managedObjectContext];<br />	<br />	NSEntityDescription *stockEntity = [NSEntityDescription entityForName:@&quot;Stock&quot; inManagedObjectContext:moc];<br />	<br />	NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];<br />	[request setEntity:stockEntity];<br />	<br />	NSPredicate *predicate = [NSPredicate predicateWithFormat:@&quot;name == %@ AND descriptions == %@&quot;, name, descriptions];<br />	[request setPredicate:predicate];<br />	<br />	NSError *error = nil;<br />	NSArray *result = [moc executeFetchRequest:request error:&amp;error];<br />	<br />	NSLog(@&quot;Result count %ld&quot;, [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

Réponses

Connectez-vous ou Inscrivez-vous pour répondre.