Почему происходит странный сбой с просмотром карты? - PullRequest
1 голос
/ 14 декабря 2010

У меня очень простое приложение.1 навигационный контроллер с 2 контроллерами просмотра.

В первом представлении есть только кнопка.Второй вид имеет вид карты (MKMapView).Я проверил свойство show currentlocation этого представления карты, создал выход и затем подключил все, используя интерфейс Builder.

В методе dealloc второго метода я установил nil для делегата mapview, а затем выпустил выход mapview.

mapView.delegate = nil;[релиз карты];

Когда я нажимаю кнопку в view1, будет загружен view2, а затем я нажимаю кнопку назад.Если я делаю это нормально, все работает хорошо.Но если я делаю это очень быстро, повторяю много раз.Приложение будет разбито.Если я не выпускаю mapView или не проверяю свойство showcurrentlocation, приложение работает хорошо.

Я не могу понять, почему это произошло.Любой помогает мне решить эту проблему.Спасибо !

Ответы [ 2 ]

2 голосов
/ 09 февраля 2011

Мое исправление в классе контроллера было ..

(void)dealloc
{
  mapView.showUserLocation = NO;  // Work around bug in MKMapView
  [super dealloc];
}
0 голосов
/ 14 декабря 2010

Попробуйте запустить приложение через инструменты с добавленным инструментом Zombie.Он должен показать вам перевыпущенный объект.Вам также следует добавить инструмент Allocations с VM tracker, чтобы увидеть, как со временем расходуется память.Таким образом, вы получите ответ очень быстро.

ps больше кода поможет лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...