我知道我可以在我的应用程序进入前台时同步 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;
}
}
关于ios - 一旦我更改了 Settings Bundle 中的设置,我的应用程序能否同时获得更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13263413/