奇怪的ios5 FetchedResultsController谓词问题



这段代码在iOS 6上运行良好,但在iOS 5上没有返回任何结果。使用分类方法将日期设置为今天。有人能发现什么奇怪的地方吗?谢谢!

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"KSJob"];
NSLog(@"today: %@", [NSDate today]);
// We only want to show upcoming jobs.
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"scheduledOn > %@", [NSDate today]]];
fetchRequest.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"scheduledOn" ascending:YES]];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
                                                                managedObjectContext:[(id)[[UIApplication sharedApplication] delegate]managedObjectContext]                                                 sectionNameKeyPath:@"dateToStringForSectionTitles"
                                                                           cacheName:@"UpcomingJobs"];
self.fetchedResultsController.delegate = self;

NSDate分类方法:

+ (NSDate*) today
{
    NSCalendar *cal = [NSCalendar currentCalendar];
    NSDateComponents *components = [cal components:( NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit ) fromDate:[[NSDate alloc] init]];
    components.timeZone = [NSTimeZone localTimeZone];
    components.hour = 0;
    components.minute = 0;
    NSDate *today = [cal dateByAddingComponents:components toDate:[[NSDate alloc] init] options:0];    
    return today;
}

好的,我想我找到了。由于某些原因,iOS 5似乎没有为这些日期字段插入任何内容。这就解释了很多。

最新更新