У меня есть Базовая Модель данных с NSDate
свойство. Я хочу отфильтровать базу данных днем. Я предполагаю, что решение включит NSPredicate
, но я не уверен, как соединить все это.
Я знаю, как сравнить день два NSDate
s использование NSDateComponents
и NSCalendar
, но как я фильтрую его с NSPredicate
?
Возможно, я должен создать категорию на моем NSManagedObject
подкласс, который может возвратить пустую дату с только годом, месяцем и днем. Затем я мог сравнить это в NSPredicate
. Эта Ваша рекомендация или является там чем-то более простым?
Учитывая NSDate * startDate и endDate и NSManagedObjectContext * moc:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(date >= %@) AND (date <= %@)", startDate, endDate];
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:[NSEntityDescription entityForName:@"EntityName" inManagedObjectContext:moc]];
[request setPredicate:predicate];
NSError *error = nil;
NSArray *results = [moc executeFetchRequest:request error:&error];