уничтожить представление при нажатии кнопки «Назад»

Мой навигационный контроллер организован следующим образом:

FirstViewController -> SecondViewController -> ThirdViewController

во-первых, я выполняю поиск в Интернете, и я отображаю результат в UITableView, когда я выбираю ячейку, которую я нажимаю во-вторых, где я выполняю другой поиск на основе ранее нажатой клавиши, и я отображаю некоторую информацию и кнопку для «дополнительной информации». "когда я нажимаю кнопку, я нажимаю на третий вид, и это работает нормально...

Проблема в том, что когда я дважды нажимаю кнопку «Назад» для выполнения другого поиска: когда я прихожу к третьему виду, я каждый раз отображаю информацию о первом поиске!

это потому, что я делаю отображение информации в loadView и это вызывается только в первый раз, верно?

Как мне поступить?

Спасибо!


person Gianluca    schedule 01.12.2010    source источник


Ответы (2)


Действительно, viewDidShow вызывается после того, как представление загружено и создано из файла NIB. Это означает, что вы должны использовать этот метод только для инициализации.

Добавьте новый метод и вызывайте его каждый раз, когда у вас появляются новые результаты:

- (void) updateAndShowResults
{
    // Code to update third view goes here
    // and is always called whenever some new results are available
}

Вы бы вызвали его из первого или второго контроллера представления следующим образом:

[thirdView updateAndShowResults];

Надеюсь, это поможет. Пожалуйста, отметьте лучший ответ, нажав "√" слева! Спасибо.

person BastiBen    schedule 01.12.2010

Вы можете очистить ThirdViewController в viewdidunload.

person WaiLam    schedule 01.12.2010
comment
Это не имеет смысла, если вы хотите повторно использовать представление для нескольких поисков. - person BastiBen; 01.12.2010