MKMapView странный сбой при отслеживании местоположения - PullRequest
0 голосов
/ 18 ноября 2010

У меня есть подкласс UIViewController и IBOutlet с именем map для экземпляра MKMapView. Пока все отлично, но иногда приложение без причины завершает работу, когда контроллер представления запускает метод viewDidLoad. Это происходит абсолютно случайно, но происходит только тогда, когда я создал около трех экземпляров, а затем создал новый и вставил его в контроллер навигации (однако в стеке контроллера навигации у меня есть только один из этих контроллеров представления одновременно)

Вот код метода viewDidLoad:

- (void)viewDidLoad 
{
    [super viewDidLoad];

    [map setDelegate:self];
    [map setMapType:MKMapTypeStandard];
    [map setShowsUserLocation:YES];

    if(area)
        self.area = area;
}

Трассировка стека показывает, что он падает, когда я вызываю [map setShowsUserLocation:YES];, но только в этой строке (когда я закомментирую его, он никогда не падает). Вот трассировка стека:

alt text

(простите за картинку, но мне было лень все это набирать).

Кто-нибудь знает, что там происходит и почему он падает?

1 Ответ

1 голос
/ 19 ноября 2010

Попробуйте установить [map setShowsUserLocation:NO]; в вашем viewDidUnload. У меня похожая ситуация, но я воссоздаю MKMapView программно каждый раз, когда перезагружается представление, и не видел этой проблемы.

...