viewDidAppear не вызывается после pushViewController - PullRequest
1 голос
/ 26 апреля 2011

Я пишу приложение, которое извлекает информацию из базы данных, отображает в таблице и позволяет пользователю получать подробности, выбирая элемент из таблицы. Всякий раз, когда таблица обновляется, значения в списке являются правильными, но таблица отображает старую информацию (т. Е. Если в таблице изначально было 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. Я полностью озадачен, почему эти двое не звонят им. Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 28 апреля 2011

Я понял это.Проблема была не в том, как я менял представление, а в том, как были настроены мои интерфейсы.У меня были все мои viewControllers в моем MainWindow.xib, а не в * .xib предыдущего представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...