2013-10-09 31 views
-2

我有對象Movie,有一對多的關係events每個事件,都有財產date 我需要在具體的一天NSPredicate爲一對多的關係

- (NSFetchedResultsController *)fetchedResultsControllerForEntertainments:(Class)className date:(NSDate *)date 
{ 
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:NSStringFromClass(className)]; 
NSDateFormatter *dateFormatter = [NSDateFormatter new]; 
dateFormatter.dateFormat = @"yyyy/MM/dd"; 
NSDate *startDate = [dateFormatter dateFromString:[dateFormatter stringFromDate:date]]; 
NSDateComponents *oneDay = [NSDateComponents new]; 
oneDay.day = 1; 
NSDate *endDate = [[NSCalendar currentCalendar] dateByAddingComponents:oneDay toDate:startDate options:0]; 
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(events, $s, ($s.date >= %@ AND $s.date < %@))[email protected] > 0", startDate, endDate]; 
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"objectId" ascending:YES]; 
fetchRequest.sortDescriptors = @[sortDescriptor]; 
fetchRequest.fetchBatchSize = 20; 
NSFetchedResultsController *fetchResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:nil]; 
return fetchResultsController; 
} 

我想有事件這樣的電影創造fetchedResultController創建謂詞,將返回我電影,有當前日期的事件

+0

你是什麼意思,它不工作就像你想要的?你能更清楚一點嗎? –

+0

發佈了一段代碼來測試(和測試數據,因爲這是一個痛苦的設置,這是你的!) – Monolo

+0

你是否已驗證'startDate'和'endDate'包含期望值? –

回答

-1

我認爲這是一個錯字 - $s.date >= %@ AND $s.date < %@是這個 正確嗎?這是和不可能的情況下,請檢查這一點。編輯: 我誤會了。這是正確的

相關問題