を作成するときに、NSFetchRequest
返すエンティティの数を指定する方法はありますか。以下の例では、ショット数が最も多い上位3つのゾンビプロダクションのみが必要です。これをfetchBatchSize
行う可能性があると思いましたが、すべてのゾンビプロダクションが取得されるまで、3つのバッチが返されます。誰かがあなたがこれを行う方法を知っていますか?
- (void)setupFetchedResultsController {
// CREATE FETCH REQUEST
NSFetchRequest *fRequest = [[NSFetchRequest alloc] initWithEntityName:@"Production"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name contains %@", @"Zombie"];
NSSortDescriptor *descriptor = [NSSortDescriptor sortDescriptorWithKey:@"shots" ascending:NO];
[fRequest setPredicate:predicate];
[fRequest setSortDescriptors:[NSArray arrayWithObject:descriptor]];
[fRequest setFetchBatchSize:3];
// FETCH RESULTS CONTROLLER
NSManagedObjectContext *moc = [[self managedDocument] managedObjectContext];
[self setFetchedResultsController:[[NSFetchedResultsController alloc] initWithFetchRequest:fRequest
managedObjectContext:moc
sectionNameKeyPath:nil
cacheName:nil]];
[[self fetchedResultsController] setDelegate:nil]; // NO UPDATES
}