2012-09-27 39 views
2

我想知道如何使用NSFetchedResultsController制作分页表格。我希望每个页面都有20个条目,并且有一个页面索引让我可以在页面之间导航。使用分页与NSFetchedResultsController?

- (NSFetchedResultsController *)fetchedResultsController 
{ 
    if (_fetchedResultsController) { 
     return _fetchedResultsController; 
    } 


    [self getDataOptions]; 

    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Profile"]; 

    NSSortDescriptor *sortByName = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; 
    [fetchRequest setSortDescriptors:[NSArray arrayWithObject:sortByName]]; 

    NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest 
                          managedObjectContext:self.managedObjectContext 
                           sectionNameKeyPath:nil cacheName:@"Friends"]; 
    aFetchedResultsController.delegate = self; 
    self.fetchedResultsController = aFetchedResultsController; 

    NSError *error = nil; 
    if (![self.fetchedResultsController performFetch:&error]) { 
     NSLog(@" Error %@ %@", [error localizedDescription], error); 
     abort(); 
    } 

    return _fetchedResultsController; 
} 
+0

'setFetchOffset:','setFetchLimit:' –

回答

-1

结果控制器可以获取所有的(因此它可以正确地形成部分),您看到的数据应该是有限的......你的tableview。

+0

https://github.com/Daij-Djan/TwitterSearchExampleApp不使用fetchedResultsController但也许应该帮助你(免责声明:自己的代码) –

+0

@downvoter:我不反对downvotes - 我也使用它们,但PLZ至少留下评论 –

+0

你的方法杀死FRC的想法。如果您要加载所有数据,FRC的目的是什么?对于部分使用瞬态属性。 (https://developer.apple.com/library/ios/samplecode/datesectiontitles/Introduction/Intro.html)对FRC使用分页似乎很头疼,我仍然试图找到最佳解决方案。 –

相关问题