Я использую MKReverseGeocoder (reversegeocoder) для получения текущего местоположения пользователя. Я вызываю reversegeocoder в методе locationDidUpdatedToLocation диспетчера CLLocation.
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
if(!reverseGeocoder )
{
NSLog(@"geocoder is nill");
reverseGeocoder=[[MKReverseGeocoder alloc] initWithCoordinate:[newLocation coordinate]];
reverseGeocoder.delegate=self;
[reverseGeocoder start];
NSLog(@"geocoder allocated");
}
else
{
NSLog(@"geocoder is not nill");
if(reverseGeocoder.querying)
{
//do nothing ;
}
else
[reverseGeocoder release];
}
}
.querying свойство используется, чтобы гарантировать, что обратный геокодер должен быть освобожден, только когда он завершил свой запрос. Но когда происходит сбой приложения в течение 3-4 секунд после запуска с сообщением об ошибке
-[MKReverseGeocoder isQuerying]: message sent to deallocated instance
Что мне здесь не хватает?
Спасибо за любую помощь заранее.