如何在UIViewController中使用applicationDidBecomeActive?

js_

我想在应用程序变为活动状态或成为前台时在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
阿普尔夫

重新激活时,如果要为视图控制器携带特定物品,则应在其viewDidLoad方法中注册一个通知

UIApplicationDidBecomeActiveNotification 会自动通知您的应用程序和给定的控制器(如果他们已注册)。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章