FetchedResultsController不显示任何部分

时间:2014-08-18 15:22:11

标签: ios objective-c

出于某种原因,下面的代码产生了奇怪的输出。

#define INITIAL_BATCH_SIZE 500

// Initializes the NSFetchedResultsController to the following request
- (void)initializeFetchResultsController
{
    // Makes a request for the given entity
    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Tweet"];
    request.predicate = nil;
    request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"timestamp"
                                                              ascending:NO]];
    request.fetchBatchSize = INITIAL_BATCH_SIZE;

    NSArray *matches = [self.managedObjectContext executeFetchRequest:request error:NULL];
    NSLog(@"%d", [matches count]);

    // Creates a fetchedResultsController
    self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                                                                        managedObjectContext:self.managedObjectContext
                                                                          sectionNameKeyPath:nil
                                                                                   cacheName:nil];
}

当我打印matches count时,我得到144192,但是当我打印出self.fetchedResultsController中的部分数量时,我使用下面的代码得到0。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    NSLog(@"Sections: %d", [[self.fetchedResultsController sections] count]);
    return [[self.fetchedResultsController sections] count];
}

我已经在视图中初始化了代码,并且在调试期间我注意到self.fetchedResultsController已初始化,因此问题不会处理已初始化的self.fetchedResultsController

我试图找出原因,但不能。有关更多信息,我有一个UIViewController,其中包含一个tableview,我在其中连接了它的委托和数据源,但我认为没有任何问题导致这个问题。

0 个答案:

没有答案