MKReverseGeoCoderDelegate не вызывается

Я пытаюсь использовать MKReverseGeoCoder API, чтобы получить название города на основе координаты. По какой-то причине делегат никогда не вызывается; есть идеи почему? Вот код:

- (void)startReverseLookup
{
  [reverseCoordinateInfo initWithCoordinate:self.currentlocation.coordinate];
  [reverseCoordinateInfo setDelegate:self];
  [reverseCoordinateInfo  start];
  NSLog(@"Reverse Geocode started");
}

- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error
     {
      NSLog(@"RC - ERROR !!!");
      }

- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark    *)placemark
 {
     NSLog(@"RC lookup finished !! - Locality is:%@",placemark.locality);
 }  

Я объявляю протокол для файла.h, а затем вызываю startReverseLookup. Я вижу первый NSLog, но после этого ничего не происходит - он просто остается там навсегда, и делегат никогда не вызывается ни для одного из методов. Какие-либо предложения?

1 ответ

Решение

Изменить следующий метод -

- (void)startReverseLookup
{
    reverseCoordinateInfo = [[MKReverseGeocoder alloc] initWithCoordinate:self.currentlocation.coordinate];
    [reverseCoordinateInfo setDelegate:self];
    [reverseCoordinateInfo  start];
    NSLog(@"Reverse Geocode started");
} 
Другие вопросы по тегам