У меня есть объекты в моей базе данных CoreData, у которых есть свойство «date» типа NSDate. Как я могу получить объекты с 10 ближайшими датами?Извлечь объекты из основных данных с 10 ближайшими датами
Это то, что я до сих пор:
NSFetchRequest *fetchRequest = [NSFetchRequest new];
fetchRequest.entity = [NSEntityDescription entityForName:NSStringFromClass([MyManagedObject class]) inManagedObjectContext:self.database.managedObjectContext];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
NSArray *result = [self.database.managedObjectContext executeFetchRequest: fetchRequest error: nil];
Я считаю, что это даст мне все мои управляемые объекты обратно в отсортированном порядке, но мне действительно нужно только 10 наиболее актуальные из них. Как я могу это сделать? И будет ли быстрее сортировать их, используя NSFetchRequest
, а не собирать их все, а затем сортировать их программно?
добавить fetchRequest.fetchLimit = 10. Вы получите максимум 10 объектов для этого запроса. – sanjaymathad