Имам проблем с 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;
}
И снимка:
Може ли някой да ми помогне с това? Ако публикуваният код не е достатъчен, за да разберете проблема, ще поставя още редове.
Благодаря