Parcourir plusieurs objets de données de base à l'aide de NSPredicate
-
03-07-2019 - |
Question
Je rencontre un problème avec un modèle Core Data dans Cocoa. C'est probablement un problème assez fondamental. Une section de mon modèle Core Data est présentée ci-dessous. Étant donné la valeur d'une propriété de cellule dans l'entité OutputCell, je souhaite renvoyer le HistogramBar approprié.
J'utilise le prédicat suivant mais il ne retourne qu'un tableau vide. J'ai réussi à le faire fonctionner en utilisant l'entité Histogram, mais je ne semble pas être capable de passer de HistogramBar à Histogram, puis à OuputCell. Le prédicat que j'utilise est:
NSEntityDescription *histogramBarEntityDescription = [NSEntityDescription entityForName:@"HistogramBar"
inManagedObjectContext:[theDocument managedObjectContext]];
NSFetchRequest *histogramBarRequest = [[[NSFetchRequest alloc] init] autorelease];
[histogramBarRequest setEntity:histogramBarEntityDescription];
NSPredicate *histogramBarPredicate = [NSPredicate predicateWithFormat:@"(histogram.outputCell.cell = %@)", theOutputCell];
[histogramBarRequest setPredicate:histogramBarPredicate];
NSError *histogramBarError = nil;
NSArray *histogramsArray = [[theDocument managedObjectContext] executeFetchRequest:histogramBarRequest
error:&histogramBarError];
Merci pour l'aide.
La solution
Mon problème est résolu, un commentaire non autorisé dans le code a empêché la création des entités HistogramBar. Dans ce cas, une vérification détaillée de certains NSLog a permis de détecter le problème.