弹出UIViewController时未调用UITableView委托

时间:2011-10-08 15:44:27

标签: objective-c iphone xcode cocoa-touch delegates

我有一个包含UITableView的视图控制器。当视图控制器被推入堆栈时,将调用表视图委托方法并填充表。

然后我将另一个视图控制器推送到包含表视图的控制器上。我想要做的是 - 当第二个视图控制器弹出并返回到前一个视图控制器时,再次调用那些uitableview委托方法(以便重新填充表格)。

换句话说,在弹出视图控制器时,如何重新填充uitableview。

由于

2 个答案:

答案 0 :(得分:2)

viewDidLoadviewDidUnloadviewWillAppearviewWillDisappear(根据您的情况选择哪一个),您可以[myTable reloadData];

// If you can include some code it would help as I am a bit uncertain
// about exactly what you are trying to do from the question but
// you should use whichever of these is correct for project:

- (void)viewDidLoad {
    [super viewDidLoad];
    [myTable reloadData];
}

- (void)viewDidUnload {
    [myTable reloadData];
}

- (void)viewWillAppear {
    [super viewWillAppear];
    [myTable reloadData];
}

- (void)viewWillDisappear {
    [super viewWillDisappear];
    [myTable reloadData];
}

答案 1 :(得分:1)

您应该做的是在其视图控制器的[self.tableView reloadData]方法中添加viewWillAppear(或您的表变量)调用。这将导致表视图在被推送时(现在如此)以及弹出其他视图控制器以显示它时重新加载。