2010-08-06 3 views
7

Hier ist meine Frage. Ich habe dieses Modell einer [Event] mehr [Tag] hat und es gibt eine Beziehung Tage in [Event] genannt und es gibt ein umgekehrte Beziehung Ereignis in [Tag].NSPredicate die Daten über die Verknüpfung Filter eher als eine Eigenschaft

Jetzt möchte ich die Event-Objekt übergeben und alle Tage mit NSFetchedResultsController erhalten und alle Tage in der Tabelle füttern. Hier ist mein Code:

// Create the fetch request for the entity. 
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
// Edit the entity name as appropriate. 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Day" inManagedObjectContext:managedObjectContext]; 

//set predicate -> ?? 
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"event = %@", self.currentEvent]; 
[fetchRequest setPredicate:predicate]; 

//set entity 
[fetchRequest setEntity:entity]; 

// Set the batch size to a suitable number. 
[fetchRequest setFetchBatchSize:20]; 

// Edit the sort key as appropriate. 
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES]; 
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 

[fetchRequest setSortDescriptors:sortDescriptors]; 

// Edit the section name key path and cache name if appropriate. 
// nil for section name key path means "no sections". 
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest 
                          managedObjectContext:managedObjectContext 
                           sectionNameKeyPath:nil 
                             cacheName:nil]; 

Irgendwie die NSFetchedResultsController Instanz wird immer wieder zurückkehrt das gleiche für andere Veranstaltung. Wie soll ich das NSPredicate beheben?

Antwort

14

ich es herausgefunden:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF IN %@", self.currentEvent.days]; 
+0

Dank dieser für das Aufstellen! – Aaronium112

Verwandte Themen