在推动控制器并将其弹回时,TableView没有重新加载数据?

时间:2011-07-16 11:17:28

标签: iphone ios uitableview

我通过继承UITableViewControll来制作UITableView,如下所示

 @interface addAlarm : UITableViewController <UITableViewDataSource>

然后我在委托的单元格中填充了一些数据,如下所示

  if (indexPath.row == 0) {    
        AlarmProjectAppDelegate *delegate = (AlarmProjectAppDelegate *)[[UIApplication sharedApplication] delegate];

    NSString *cellValue = [NSString stringWithFormat:@"Name"];
    cell.textLabel.text = cellValue;
    return cell;

然后我转到其他控制器

              Name *ob = [[Name alloc] initWithStyle:UITableViewStyleGrouped];
        [self.navigationController pushViewController:ob animated:YES];

        [ob release];
        ob = nil; 

因为会有一个后退按钮,当我点击它时它将被加速并返回当前的类“addAlarm”

但我看到它回来的时候,下面的方法没有调用,甚至没有调用viewDidLoad,所以表刷新了它的数据,

  - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
我用过           [self.tableView reloadData]; 在viewWillApear中,但它不起作用,不会调用上面的方法

我该怎么做才能解决这个问题,如果你无法理解这个问题,你可以在评论中再次问我,

先谢谢

1 个答案:

答案 0 :(得分:1)

这是因为你在dealloc方法中传递了名称值。所以它在另一个视图的viewWillAppear之后调用。这就是为什么你的tableview没有重新加载的原因。

尝试在viewWillDisappear方法中发送值。