Вопрос

Когда я открываю MapView с навигационным контроллером в новом представлении, затем не дожидаюсь загрузки карты, а затем нажимаю кнопку «Назад» - выдается исключение.Может ли кто-нибудь подтвердить это?Что такое обходной путь?

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

Решение

Вы освобождаете представление карты при освобождении навигационного контроллера?

Возможно, представление карты отправляет сообщение своему делегату (вашему контроллеру навигации) после того, как делегат был освобожден.

Попробуйте установить для делегата MapView значение nil, прежде чем его выпускать.

Другие советы

У меня была именно эта ошибка.

Это вызвано некоторыми методами делегата в вашем классе, когда вы извлекаете этот класс, и карта занята выполнением действий, которые она пытается вызвать класс, у которого осталась память.

я просто добавил

- (void)dealloc
{   
    // release the map delegate otherwise it will try and call our classes with no data.
    // map for me is my MKMapView
    map.delegate = nil;
    [super dealloc];
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top