Я пишу приложение, которое извлекает информацию из базы данных, отображает в таблице и позволяет пользователю получать подробности, выбирая элемент из таблицы. Всякий раз, когда таблица обновляется, значения в списке являются правильными, но таблица отображает старую информацию (т. Е. Если в таблице изначально было 3 элемента, а теперь 2, в таблице будут отображаться 3 исходных элемента, но они прерываются, если пользователь пытается нажмите на 3-й пункт). Та же проблема возникает с моим представлением деталей. Если пользователь выбирает одно значение, представление меняется для этой информации. Если они вернутся назад и выберут новое значение, представление изменится, но отобразит информацию из первого выбора. Я приписал оба из них представлениям, не вызывающим viewDidAppear, когда они появляются. Я использую контроллер навигации для загрузки представлений, но они по-прежнему не вызывают метод.
Вот так я показываю свой listView: UITableViewController
-(IBAction)viewInventoryClicked:(id)sender {
[DBHelper getAllBottles:[appDelegate getDBPath]];
if(self.viewList == nil) {
//instantiate view
}
[appDelegate.navigationController viewWillDisappear:YES];
[appDelegate.navigationController pushViewController.self.viewList animated:YES];
}
Мой просмотр сведений (UIViewController) отображается аналогичным образом. Контроллер навигации находится в AppDelegate. Главное окно загружается с:
[self.window addSubview:navigationController.view];
[self.window makeKeyAndVisible];
mainWindow и мой ModalView успешно вызывают методы viewDidAppear. Я полностью озадачен, почему эти двое не звонят им. Заранее спасибо за помощь.