我知道当我的应用进入前景时,我可以同步nsuserdefaults。但是它无法满足我的要求,我希望在设置捆绑包中更改设置,即使在后台运行,我的应用程序的卷都可以同时更改。
我认为,您不能当应用在后台运行时(甚至手动)!
但是,当应用使用 NSUserDefaultsDidChangeNotification
示例:
-(void)viewDidAppear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(defaultsSettingsChanged) name:NSUserDefaultsDidChangeNotification object:nil];
}
- (void)viewDidDisappear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
-(void)defaultsSettingsChanged{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if([[defaults stringForKey:@"speech"] isEqualToString:@"0"])
{
speech.hidden = YES;
}
}