Как передавать данные из одного контроллера представления другому в раскадровке при возвращении?

StackOverflow https://stackoverflow.com/questions/9358381

Вопрос

Сценарий:

  • Расскар с UinavigationController в качестве начального контроллера.
  • MainVC (root VC навигационного контроллера) требует, чтобы пользователь выбрал местоположение на карте.
  • MainVC нажимает VC, содержащий карту Mapkit, и добавляет себя в качестве слушателя для уведомления, которое MAPVC отправляет, когда пользователь выбирает местоположение.
  • Mapkit - это свинья памяти, мы все это знаем. iOS дает мне предупреждение о памяти, я делаю все, что нужно сделать, затем iOS разбирается в том, что он может разобраться, включая MainVC.
  • MAPVC отправляет уведомление, но никто не слушает его. Расположение, которое выбрал пользователь, потеряно, как слезы под дождем.

Учитывая это, какой надежный способ передать данные этого местоположения при возвращении в MainVC? Я даже подумал о том, чтобы записать это до ~/tmp (что я использую, чтобы иметь дело с большим количеством данных, такими как изображения), но это кажется пустой тратой машины. Разве нет механизма, к которому я могу зацепить, как событие, выпущенное, когда контроллер навигации возвращается к предыдущему ВК? Например, иметь доступ к чем -то вроде PrepareForseguge: но в противоположном направлении было бы неплохо.

РЕДАКТИРОВАТЬ Я пытался пойти на делегирование, но, тем не менее, мой делегат выпускается. Я застрял с необходимостью писать в ~/tmp?

Это было полезно?

Решение

Смотрите мой ответ здесь для подробного объяснения настройки протокола делегата и делегата - здесь

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top