应用程序再次激活后如何刷新 UITableView?

发布于 2024-09-10 23:32:05 字数 370 浏览 3 评论 0原文

我希望我的 UITableView 在用户退出应用程序后再次激活时重新加载数据。我知道我需要实现(在我的应用程序委托中):

- (void)applicationDidBecomeActive:(UIApplication *)application

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

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

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

I would like my UITableView to reloadData once my app is active again, after a user exits the application. I know I need to implement (in my app delegate):

- (void)applicationDidBecomeActive:(UIApplication *)application

but im not sure how to reference the current UITableView?

UPDATE:
My UITableView is a separate controller. It is actually presented as follows

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

贵在坚持 2024-09-17 23:32:05

跟进 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];
}

following up on Ole's answer above

add this when initializing the viewcontroller

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

add the actual method in the controller

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

be sure to clean up the notification

- (void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    [super dealloc];
}
撞了怀 2024-09-17 23:32:05

如果您无法从应用委托访问视图控制器,您还可以让控制器监听 UIApplicationDidBecomeActiveNotification 通知。

If you can't access your view controller from the app delegate, you could also have your controller listen to the UIApplicationDidBecomeActiveNotification notification.

执笔绘流年 2024-09-17 23:32:05

您可以创建名为 TableViewManager 的类。在那里注册 UITableView 列表,以便您可以刷新任何您想要的表格。
就像这样,在你的TableViewManager类中,你有一个名为

- (void)RefreshTableView:(UITableView *)tableView {
if(tableView != nil)
    [tableView reloadData]; }

you can create your class called TableViewManager. in there register list of UITableView so that you can refresh any table you want.
it's like this, in yourTableViewManager class, you have a method called

- (void)RefreshTableView:(UITableView *)tableView {
if(tableView != nil)
    [tableView reloadData]; }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文