gpt4 book ai didi

iphone - 如何在 UIViewController 中使用 applicationDidBecomeActive?

转载 作者:IT老高 更新时间:2023-10-28 11:29:23 25 4
gpt4 key购买 nike

我想在应用程序变为事件或成为前台时重新加载 UIViewController 中的数据。

我知道在 AppDelegate 类中调用了 applicationDidBecomeActive。
但是我必须有一个全局变量,以便 UIViewController 像这样的代码在 AppDelegate 类中重新加载其数据:

in AppDelegate.m

// global variable
UIViewController *viewController1;
UIViewController *viewController2;

-(void)applicationDidBecomeActive:(UIApplication *)application
{
[viewController1 reloadData];
[viewController2 reloadData];
}

但这很不方便,尤其是当我有很多 UIViewControllers 时。

我可以在 UIViewController 中而不是在 AppDelegate 类中使用 applicationDidBecomeActive 吗?
或者有没有比为 UIViewController 设置全局变量更好的方法?

我还需要使用 UIViewControllers 中的以下方法:

-(void)applicationWillResignActive:(UIApplication *)application
-(void)applicationDidEnterBackground:(UIApplication *)application
-(void)applicationWillEnterForeground:(UIApplication *)application

最佳答案

在重新激活的时候,如果你想为一个 View Controller 携带一个特定的东西,你应该在它的viewDidLoad方法中注册一个通知。

UIApplicationDidBecomeActiveNotification 将自动通知您的应用程序和给定的 Controller ,如果它们已注册。

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

关于iphone - 如何在 UIViewController 中使用 applicationDidBecomeActive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11928126/

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