在包含多个表视图的视图控制器中刷新表视图中的数据

时间:2013-06-10 13:28:26

标签: iphone ios uibarbuttonitem uibarbuttonitemstyle

我想在视图控制器中添加一个刷新栏按钮

UIBarButtonItem *refreshButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refreshTable)];
self.navigationItem.leftBarButtonItem = refreshButton;

,刷新功能是:

- (void) refreshTable
{
      dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
     NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://....../fastnews.php"]];
     [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES];
});
}

,获取数据函数是:

    -(void)fetchedData:(NSData *)responseData
{
   NSError *error;
   NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
  fastResults = [json objectForKey:@"nodes"];
  [self.tableView reloadData];
}

如果我在视图控制器中有两个表视图,并且我想在单击刷新按钮时,只需要重新加载第一个表,

enter image description here

我在上面添加了相同的代码,但它在这里不起作用!我该怎么办? 我做这样的事情: enter image description here

其中refreshButton是:@property (strong, nonatomic) IBOutlet UIBarButtonItem *refreshButton;

1 个答案:

答案 0 :(得分:0)

您无需指定标记值。只需为两个表创建单独的属性,您就可以使用表名仅为第一个表调用reloadData