I subscribe to notifications in the SettingsController controller
- (void)viewDidLoad { [super viewDidLoad]; self.title = LocalizedString(@"titleLabelSettings", @""); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateLabels) name:kNotificationLanguageChanged object:nil]; } - (void)updateLabels { self.title = LocalizedString(@"titleLabelSettings", @""); } and move on to the next controller
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [self.navigationController pushViewController:[[ChangeLanguageController alloc] init] animated:YES]; } The dealloc method is not called on the SettingsController
- (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self name:kNotificationLanguageChanged object:nil]; NSLog(@"dealloc SettingsController"); } I ChangeLanguageController notification from the ChangeLanguageController controller and the SettingsController does not receive it. Why?
[[NSNotificationCenter defaultCenter] postNotificationName:kNotificationLanguageChanged object:nil userInfo:nil];