Я использую NSNotification
для отправки уведомления, когда переключатель изменен, чтобы начать обновление аннотаций на карте. Моя проблема в том, что у меня есть 8 переключателей, и когда пользователь меняет положение нескольких переключателей, много раз обновляйте карты. Как ограничение на одно уведомление?Есть ли способ ограничить NSNotification?
- (IBAction)saveSwitch:(id)sender
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"MyAppSettingsChanged" object:self userInfo:nil];
NSUserDefaults *defs1 = [NSUserDefaults standardUserDefaults];
[defs1 setBool: blackSwitch.on forKey: @"blackKey"];
NSUserDefaults *defs2 = [NSUserDefaults standardUserDefaults];
[defs2 setBool: greenSwitch.on forKey: @"greenKey"];
NSUserDefaults *defs3 = [NSUserDefaults standardUserDefaults];
[defs3 setBool: purpleSwitch.on forKey: @"purpleKey"];
NSUserDefaults *defs4 = [NSUserDefaults standardUserDefaults];
[defs4 setBool: orangeSwitch.on forKey: @"orangeKey"];
NSUserDefaults *defs5 = [NSUserDefaults standardUserDefaults];
[defs5 setBool: blueSwitch.on forKey: @"blueKey"];
NSUserDefaults *defs6 = [NSUserDefaults standardUserDefaults];
[defs6 setBool: redSwitch.on forKey: @"redKey"];
NSUserDefaults *defs7 = [NSUserDefaults standardUserDefaults];
[defs7 setBool: darkblueSwitch.on forKey: @"darkblueKey"];
NSUserDefaults *defs8 = [NSUserDefaults standardUserDefaults];
[defs8 setBool: yellowSwitch.on forKey: @"yellowKey"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
В другой точке зрения
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onAppSettingsChanged:) name:@"MyAppSettingsChanged" object:nil];
}
Обновление аннотаций
- (void) onAppSettingsChanged:(NSNotification *)notification {
NSLog(@"Settings was changed");
//Create the thread
[NSThread detachNewThreadSelector:@selector(loadPList) toTarget:self withObject:nil];
}
Я был бы очень признателен, если бы кто-то мог отформатировать это правильно. Я нахожусь на своем iPhone. – CodaFi
Можете ли вы привести мне пример обновления значения BOOL? –
я сделал. Я установил его в код YES. – CodaFi