iOS: функция обратного вызова после popViewControllerAnimated вызывается? - PullRequest
0 голосов
/ 01 декабря 2011

У меня есть навигационный контроллер с двумя представлениями на раскадровке.

В первом представлении я использую это для перехода к следующему (второму) представлению:

[self performSegueWithIdentifier:@"SecondViewController" sender:sender];

Стиль перехода - push.

Во втором виде есть две кнопки верхней панели, кнопка возврата, которая нормально перемещается назад, и настраиваемая кнопка правой панели, которые делают что-то на заднем плане, а после этого перемещаются назад с этим кодом:

[self.navigationController popViewControllerAnimated:YES];

Иногда, когда я вызываю этот код, я хочу вызвать функцию (например, функцию обратного вызова) в первом представлении, которая обновляет некоторые вещи в первом представлении.

Как я могу это сделать?

Я пытаюсь использовать в первом представлении viewWillAppear, но я не хочу обновлять вещи каждый раз, просто иногда.

Спасибо!

РАЗРЕШЕНО.

Я нашел способ решения проблемы: когда я использую функцию prepareForSegue, я могу установить любое свойство объекта [segue destinationViewController].

Поэтому я устанавливаю делегатсобственность отправителю (фисрt) контроллер, и во втором контроллере я могу вызвать [делегировать anyFunction]

Это работает, может быть, это хорошее решение ...: -S

1 Ответ

2 голосов
/ 01 декабря 2011

Делегация должна решить вашу проблему.Сделайте первый контроллер представления делегатом второго и отправьте ему сообщение при отклонении контроллера представления.

...