大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)
为了能够在Settings Bundle中的变化在进入App后能够立即反应出来,我们必须牢牢守住一个位置:即当App从后台进入前台时.
我们有2种办法在该时刻做一些读取的操作,一种是在- (void)applicationWillEnterForeground:(UIApplication *)application方法中处理,一种是注册UIApplicationWillEnterForegroundNotification通知.
我们分别来看一下,首先是applicationWillEnterForeground方法,很简单,在其中做我们想要的:
- (void)applicationWillEnterForeground:(UIApplication *)application {
[_viewController refreshFields];
}
然后是UIApplicationWillEnterForegroundNotification通知,我们可以在视图的某个进入方法里调用:
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
[self refreshFields];
UIApplication *app = [UIApplication sharedApplication];
[[NSNotificationCenter defaultCenter]addObserver:self selector:
@selector(applicationWillEnterFg:) name:
UIApplicationWillEnterForegroundNotification object:app];
}
最后是回调方法的实现:
-(void)applicationWillEnterFg:(NSNotification*)notification{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults synchronize];
[self refreshFields];
}