【问题标题】:NSFetchedResultsController, Specifying number of returned entities?NSFetchedResultsController,指定返回实体的数量?
【发布时间】:2012-08-23 17:09:35
【问题描述】:

有没有办法在创建NSFetchRequest 时指定要返回的实体数量。在下面的示例中,我只想要拥有最多镜头的前 3 个 Zombie 作品,我认为 fetchBatchSize 可能会这样做,但它会返回 3 个批次,直到检索到所有 Zombie 作品。有谁知道你会怎么做?

- (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
}

【问题讨论】:

    标签: iphone cocoa-touch uitableview core-data nsfetchedresultscontroller


    【解决方案1】:

    使用NSFetchRequestsetFetchLimit 属性。

    摘自 Apple Docs: 获取限制指定请求在执行时应返回的最大对象数。

    【讨论】:

      猜你喜欢
      • 2021-01-30
      • 2021-11-08
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多