0

を作成するときに、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
}
4

1 に答える 1

1

setFetchLimitのプロパティを使用しますNSFetchRequest

Apple Docs からの抜粋: fetch limit は、リクエストが実行されたときに返されるオブジェクトの最大数を指定します。

于 2012-08-23T17:24:02.563 に答える