gpt4 book ai didi

iphone - 如何确保当应用程序再次显示(从后台启动或启动)时,我的 UITableView 数据更新函数仅被调用一次?

转载 作者:行者123 更新时间:2023-11-29 05:03:33 25 4
gpt4 key购买 nike

如何确保当应用程序再次显示(从后台启动或启动)时仅调用一次我的表数据函数?

也就是说,我希望在用户单击应用程序图标时刷新表数据,并且仅刷新一次。所以要求是:a) 在用户单击应用程序图标后仅调用一次 Controller 中的更新方法b) 无论用户是否 (i) 首次启动应用程序、(ii) 从后台返回、(iii) 用户请求应用程序返回前台的任何其他方式,都有效。

我目前在实现中遇到的问题是,在应用程序从后台返回的情况下,数据更新被调用两次,所以我基本上想对此进行改进。我目前正在做的有缺陷的方法是:

- (void)updateEventData {
// UPDATE CODE HERE
}
- (void)becomeActive:(NSNotification *)notification {
[self updateEventData];
[self.tableView reloadData];
}

- (void)viewDidLoad {
[super viewDidLoad];
[self updateEventData];

// Auto Refresh Data - Handle Case where App becomes active from background & you want to refresh data
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(becomeActive:)
name:UIApplicationDidBecomeActiveNotification
object:nil];

}

最佳答案

您可以通过以下方式实现它:

1) 在 NSUserDefault 中取一个变量。2)当应用程序第一次启动时,将其值设置为FALSE。3) 获取相应 View Controller 中 NSUserDefault 变量的值。如果值为 FALSE,则调用更新方法。4) 现在,当应用程序变为事件状态时,将变量值设置为 TRUE。5)在各自的 View Controller 中获取它的值。如果值为 TRUE,则不调用更新方法。6) 所以,update方法只会被调用一次。

希望对您有帮助。可能会有一些细微的变化。

如有任何困难,请告诉我。

关于iphone - 如何确保当应用程序再次显示(从后台启动或启动)时,我的 UITableView 数据更新函数仅被调用一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6247769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com