CLLocationManager onClientEventLocation, Zombie - PullRequest
1 голос
/ 04 ноября 2011

Проблема появляется, когда я нажимаю MKUserTrackingBarButtonItem для отслеживания местоположения пользователя и затем покидаю вид.

Профилировщик показывает зомби:

[CLLocationManager onClientEventLocation]

У меня нет CLLocationManager , но MKMapView , который я установил в ноль при выходе:

    - (void)viewDidUnload
{
    [self setMapToolbar:nil];
    mapView.delegate = nil;
    [self setMapView:nil];

    [super viewDidUnload];
}

1 Ответ

2 голосов
/ 13 ноября 2011

Как я наконец понимаю, MKMapView метод showUserLocation создает экземпляр CLLocationManager.

Легко избежать этого зомби, отключив userLocation при выходе из вида:

     - (void)viewWillDisappear:(BOOL)animated 
{ 
[mapView setShowsUserLocation:NO]; 
[super viewWillDisappear:animated]; 
}
...