2010-08-06 11 views
7

İşte sorum. Bir [Event] modelinin birden çok [Day] öğesi var ve [Event] öğesinde günler denen bir ilişki var ve [Day] öğesinde bir ters ilişki olayı var.NSPredicate verileri bir mülk yerine ilişiksiz filtre uygulayabilirsiniz

Şimdi Event nesnesini geçmek ve NSFetchedResultsController kullanarak tüm günleri elde etmek ve tablodaki tüm günleri beslemek istiyorum.

// 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]; 

nasılsa, NSFetchedResultsController örneği her zaman farklı etkinlik için aynı şeyi dönecektir: İşte benim kodudur. NSPredicate'ı nasıl düzeltmeliyim?

cevap

14

ben bunu anladım:

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

Teşekkür Bu asmaktan! – Aaronium112

İlgili konular