NSPredicate: фильтрация объектов ко дню свойства NSDate

У меня есть Базовая Модель данных с NSDate свойство. Я хочу отфильтровать базу данных днем. Я предполагаю, что решение включит NSPredicate, но я не уверен, как соединить все это.

Я знаю, как сравнить день два NSDates использование NSDateComponents и NSCalendar, но как я фильтрую его с NSPredicate?

Возможно, я должен создать категорию на моем NSManagedObject подкласс, который может возвратить пустую дату с только годом, месяцем и днем. Затем я мог сравнить это в NSPredicate. Эта Ваша рекомендация или является там чем-то более простым?

122
задан Florian Pilz 3 May 2012 в 15:08
поделиться

1 ответ

Учитывая 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];
190
ответ дан 24 November 2019 в 01:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: