奇妙に聞こえるかもしれませんが、同じコード ブロックを異なる値に対して 2 回呼び出すという問題に直面しています。同じコードが繰り返されると、最初のコードは実行されるだけで、2 番目のコードは呼び出されないことがわかりました。助けてください
-(void) showRestaurants {
if (!self.geocoder) {
self.geocoder = [[CLGeocoder alloc] init];
}
NSArray *web = [detail valueForKeyPath:@"Address"];
NSLog(@"NO OF VALUES^^^^^^^^^^^^^^:: %@", web);
int count = [web count];
NSString *value;
//Other place of interest nearby
for (int i = 0; i < count; i++)
{
value = [web objectAtIndex:i];
NSLog(@"==> %@", value);
[self.geocoder geocodeAddressString:value completionHandler:^(NSArray *marks, NSError *failed) {
if ([marks count] > 0) {
NSLog(@"call Me....");
CLPlacemark *placemark = [marks objectAtIndex:0];
location = placemark.location;
coordinate = location.coordinate;
coordinate.latitude = location.coordinate.latitude;
coordinate.longitude = location.coordinate.longitude;
//for first co-ordinate :: SOURCE
MKCoordinateRegion newRegion;
newRegion.center.latitude = coordinate.latitude;
newRegion.center.longitude = coordinate.longitude;
newRegion.span.latitudeDelta = 0.029321;
newRegion.span.longitudeDelta = 0.034589;
MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init];
[annotation setCoordinate:coordinate];
//AppDelegate *dataCenter = (AppDelegate *) [[UIApplication sharedApplication] delegate];
[annotation setTitle:value];
[self.mapView addAnnotation:annotation];
[self.mapView setRegion:newRegion animated:YES];
}
}];
}
}