【问题标题】:iPhone reloading data in a tableiPhone重新加载表格中的数据
【发布时间】:2011-12-12 10:28:03
【问题描述】:

我使用在 viewDidLoad(通过 mHud)上运行的 loadResults 例程填充表中的数据,该例程运行良好。但是现在我想稍微改变从距离到可访问性的结果(只需更改它解析数据的 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];

}

我刚刚在导航控制器上放了一个按钮,可以在它们之间切换。

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

汤姆

【问题讨论】:

  • 尝试使用 [outletNameOfTableView reloadData];

标签: iphone objective-c ios uitableview uinavigationcontroller


【解决方案1】:

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

-(void)loadResults {

    //routine to parse XML files 

      [self.tableView reloadData]; 
}

所以,使用 self.tableView 而不是 self.view。

【讨论】:

    【解决方案2】:

    我认为这段代码对你有帮助

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

    【讨论】:

      【解决方案3】:

      你可以使用这个代码。

      [self.tableView reloadData];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-10
        • 1970-01-01
        • 2012-05-18
        • 1970-01-01
        • 1970-01-01
        • 2011-03-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多