У меня проблема с CLGeocoder
, если я попытаюсь получить имя адреса, используя CLGeocoder
, и текущие координаты пользователя, он правильно вернет имя адреса, почтовый индекс, штат и т. д. в NSLog
, но если я попытаюсь отправить эту информацию в NSString
[содержится в NSMutableArray
, но я не думаю, что это проблема] возвращает значение (null)
. Я подозреваю, что эта проблема вызвана блоком, который я использовал в коде, но я не уверен, и я все равно не знаю, как решить эту проблему.
Вот мой код:
- (NSArray *)dataArrayPosizione
{
if (self.arrayPosizione == nil)
{
reverseGeocoder = [[CLGeocoder alloc] init];
locationToReverseGeocode = [[CLLocation alloc]initWithLatitude:self.mapView.userLocation.location.coordinate.latitude longitude:self.mapView.userLocation.location.coordinate.longitude];
[reverseGeocoder reverseGeocodeLocation:locationToReverseGeocode completionHandler:^(NSArray *placemarks, NSError *error)
{
if (placemarks && placemarks.count > 0)
{
placemark = placemarks[0];
NSLog(@"\n%@ %@\n%@, %@, %@\n%@", [placemark subThoroughfare],[placemark thoroughfare], [placemark locality], [placemark administrativeArea], [placemark postalCode], [placemark country]);
}
}];
informazioniPosizione = [NSMutableArray new];
[informazioniPosizione addObject:[NSString stringWithFormat:@"Indirizzo: %@", [placemark country]]];
[informazioniPosizione addObject:[NSString stringWithFormat:@"Latitudine: %g\u00B0\nLongitudine: %g\u00B0", self.mapView.userLocation.location.coordinate.latitude, self.mapView.userLocation.location.coordinate.longitude]];
self.arrayPosizione = informazioniPosizione;
}
return self.arrayPosizione;
}
И картинка:
Может кто-нибудь, пожалуйста, помогите мне с этим? Если размещенного кода недостаточно для понимания проблемы, я вставлю больше строк.
Спасибо