1

我正在尝试实现UIRefreshControl代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIRefreshControl *refreshController = [[UIRefreshControl alloc] init];
    [refreshController addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
    [self setRefreshControl:refreshController];
}

- (void)refresh:(id)sender
{
    NSLog(@"Freshing");
    //populate new data into the table view
}

我正在使用NSFetchResultsController. 那么,如何将新数据填充到表格视图中呢?

4

2 回答 2

0

出乎意料的简单。NSFetchedResultsController负责获取表视图的数据,因此:

[self.tableView reloadData]; 

如果您仍然获得“旧”数据,并且您按照 Apple 样板代码对获取的结果控制器进行了延迟实例化,则在上面添加这一行:

self.fetchedResultsController = nil;

除了将其设置为 nil 之外,您还可以让现有的 FRC 再次执行其获取请求(这更有效):

[self.fetchedResultsController performFetch:nil]; 
于 2013-01-31T14:32:19.663 回答
0

获取数据后,您必须重新加载表

[yourTableView reloadData];
于 2013-01-31T14:44:49.080 回答