4

我希望我的 UITableViewreloadData在用户退出应用程序后再次激活我的应用程序。我知道我需要实现(在我的应用程序委托中):

- (void)applicationDidBecomeActive:(UIApplication *)application

但我不确定如何引用当前的 UITableView?

更新:我的 UITableView 是一个单独的控制器。实际呈现如下

AppDelegate > Root View Controller > Pushes UITabBarController modally which has a UITableViewController
4

3 回答 3

30

跟进上面 Ole 的回答

在初始化视图控制器时添加这个

[[NSNotificationCenter defaultCenter] addObserver:self 
    selector:@selector(becomeActive:)
    name:UIApplicationDidBecomeActiveNotification
    object:nil];

在控制器中添加实际方法

- (void)becomeActive:(NSNotification *)notification {
    NSLog(@"becoming active");
}

一定要清理通知

- (void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    [super dealloc];
}
于 2010-07-21T15:58:31.540 回答
3

如果您无法从应用程序委托访问您的视图控制器,您也可以让您的控制器收听UIApplicationDidBecomeActiveNotification通知。

于 2010-07-21T15:31:34.613 回答
0

您可以创建名为TableViewManager. 在那里注册列表,UITableView以便您可以刷新您想要的任何表。就像这样,在你的TableViewManager课堂上,你有一个方法叫做

- (void)RefreshTableView:(UITableView *)tableView {
if(tableView != nil)
    [tableView reloadData]; }
于 2010-07-21T15:41:19.103 回答