Я использую уведомления для передачи данных от контроллера подробного представления к rootviewcontroller в моем приложении. Методы работают нормально, пока не появится предупреждение о памяти.
Уведомление обрабатывается дважды после любых предупреждений о памяти.
Я передаю данные обратно в rootviewcontroller, когда пользователь выбирает строку в DetailViewController. Метод didSelectRowAtIndexPath вызывается только один раз, а наблюдатель уведомлений вызывается дважды!
Следует ли удалять уведомление в didReceiveMemoryWarning? Или есть какая-то другая проблема с кодом?
Размещение соответствующего кода
ViewDidLoad RootViewController
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(rowSelected:) name:@"SelectionNotification" object:nil];
DidSelectRowAtIndexPath DetailViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSMutableDictionary *dictionary = [[[NSMutableDictionary alloc] init] autorelease];
[dictionary setObject:selectedRow forKey:@"row"];
[[NSNotificationCenter defaultCenter] postNotificationName:kSelectionNotificationName object:self userInfo:dictionary];
[[self navigationController] popToRootViewControllerAnimated:YES];
}
Спасибо за любую помощь.