Как отфильтровать NSDate от Core-Data Entity, используя NSPredicate - PullRequest
0 голосов
/ 08 ноября 2011

У меня есть основной объект данных с отметкой времени (NSDate), и мне нужно получить записи за последние n дней.Как я мог это сделать?Спасибо.

1 Ответ

2 голосов
/ 08 ноября 2011

Попробуйте это

#define DAY_1 86400 //seconds in one day
NSFetchRequest *request=[[NSFetchRequest alloc] init];
request.entity=[NSEntityDescription entityForName:@"<your entity name>" inManagedObjectContext:<your context>];
request.predicate=[NSPredicate predicateWithFormat:@"timestamp > %@",[NSDate dateWithTimeIntervalSinceNow:-DAY_1*n]];
NSFetchedResultsController *frc=[[NSFetchedResultsController alloc] initWithFetchRequest:request 
                                                                        managedObjectContext:<your context> 
                                                                          sectionNameKeyPath:nil
                                                                                   cacheName:nil];
[request release];

теперь вы можете использовать frc для выполнения выборки

...