iPhone在表格中重新加载数据

时间:2011-12-12 10:28:04

标签: iphone objective-c ios uitableview uinavigationcontroller

我使用loadResults例程在我的表中填充数据,该例程在viewDidLoad(通过mHud)上运行,该例程工作正常。但是现在我想略微改变距离到可访问性的结果(只是更改它解析数据的URL)

我尝试在交换机上重新运行我的loadResults但它似乎没有做任何事情。如果我改变它解析的url然后交换到相同的页面,它会加载正确的新结果(但是搞砸了我的导航控制器,我很确定会浪费大量的内存来做这件事。)

基本上我有:

-(void)loadResults {

//routine to parse XML files 


  [self.view reloadData];
}


- (void)viewDidLoad {
    [super viewDidLoad];

    self.title = @"Results";

    HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    HUD.labelText = @"Loading";
    HUD.detailsLabelText = @"updating data"; 

    [HUD showWhileExecuting:@selector(loadResults) onTarget:self withObject:nil animated:YES];

}

我只是在我的导航控制器上放了一个按钮,它们在它们之间交换。

所以我想从本质上说,我如何用新数据加载我的表?

汤姆

3 个答案:

答案 0 :(得分:1)

我认为此代码是您的

的帮助
#pragma mark -
#pragma mark MBProgressHUDDelegate methods

- (void)hudWasHidden  { 
    // Remove HUD from screen when the HUD was hidded
    [HUD removeFromSuperview];
    [HUD release];
    [tbleName reloadData]; }

答案 1 :(得分:1)

如果你的控制器是UITableViewController的子类,你应该修改loadResults方法:

-(void)loadResults {

    //routine to parse XML files 

      [self.tableView reloadData]; 
}

因此,使用 self.tableView 而不是self.view。

答案 2 :(得分:0)

你可以使用这段代码。

[self.tableView reloadData];