iOS: функция обратного вызова после popViewControllerAnimated вызывается?
У меня есть навигационный контроллер с двумя представлениями на раскадровке.
В первом представлении я использую это для перехода к следующему (второму) представлению:
[self performSegueWithIdentifier:@"SecondViewController" sender:sender];
Стиль segue - push.
Во втором представлении есть две кнопки верхней панели, кнопка возврата, которая перемещается назад в обычном режиме, и настраиваемая кнопка правой панели, которые делают что-то на заднем плане, а после этого перемещаются назад с этим кодом:
[self.navigationController popViewControllerAnimated:YES];
Иногда, когда я вызываю этот код, я хочу вызвать функцию (например, функцию обратного вызова) в первом представлении, которая обновляет некоторые вещи в первом представлении.
Как я могу это сделать?
Я пытаюсь использовать в первом представлении viewWillAppear, но я не хочу обновлять вещи каждый раз, просто иногда.
Спасибо!
ПОСТАНОВИЛИ.
Я нашел способ решения проблемы: когда я использую функцию prepareForSegue, я могу установить любое свойство объекта [segue destinationViewController].
Поэтому я установил свойство делегата для контроллера отправителя (fisrt), и во втором контроллере я могу вызвать [делегировать anyFunction]
Это работает, может быть, это хорошее решение...
1 ответ
Делегация должна решить вашу проблему. Сделайте первый контроллер представления делегатом второго и отправьте ему сообщение, когда вы отклоните контроллер представления.