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