我正在尝试实施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
。那么,如何将新数据填充到表视图中呢?
答案 0 :(得分:0)
出乎意料的简单。 NSFetchedResultsController
负责获取表视图的数据,因此:
[self.tableView reloadData];
如果您仍然获得“旧”数据,并且您使用了带有提取结果控制器的延迟实例化的Apple样板代码,则在上面添加以下一行:
self.fetchedResultsController = nil;
除了将此设置为nil之外,您还可以让现有的FRC再次执行其获取请求(这更有效):
[self.fetchedResultsController performFetch:nil];
答案 1 :(得分:0)
获取数据后,您必须重新加载表格
[yourTableView reloadData];