需求是:App使用过程中,进入待机暗屏状态,之后解锁亮屏,要刷新数据,避免让用户看到的不是最新的数据。
解决方法:一开始觉得是在viewwillappear 里面去操作,发现不可行。其实应该是去应用程序的生命周期里面的方法里(如下)发通知,然后让指定页面去接收这个通知,调用刷新方法。
在Appdelegate.m中
//应用程序将要进入活动状态执行
- (void)applicationWillEnterForeground:(UIApplication *)application
{
NSLog(@"应用程序将要进入活动状态,即将进入前台运行");
[[NSNotificationCenter defaultCenter]postNotificationName:@"backToFront" object:@"back"];
}
//应用程序已经进入活动状态
- (void)applicationDidBecomeActive:(UIApplication *)application
{
NSLog(@"应用程序已进入前台,处于活动状态");
}
ps:一开始找到这两个方法,虽然说每次亮屏都会调用这两个方法,但是第二个方法是每次程序一启动都会调用的,所以不使用第二个方法。