title: Set annotation's title as current address
body: <p>I want to get the current location's address and set it to the annotation's title. But it didn't work. I think it's because of the block, but I don't know how to fix it. Any help will be appreciated. The most related code is as following:</p>
  
  <p><strong>WhereAmIAnnotation.h</strong></p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  #import &lt;MapKit/MapKit.h&gt;
  
  @interface WhereAmIAnnotation : NSObject &lt;MKAnnotation&gt;
  {
  CLLocation *myLocation;
  NSString *addr;
  }
  @property (nonatomic, retain) CLLocation *myLocation;
  @property (nonatomic, copy) NSString *addr;
  
  @end
  </code></pre>
  
  <p><strong>WhereAmIAnnotation.m</strong></p>
  
  <pre><code>#import "WhereAmIAnnotation.h"
  
  @implementation WhereAmIAnnotation
  @synthesize myLocation, addr;
  
  - (CLLocationCoordinate2D)coordinate;
  {
  return self.myLocation.coordinate; 
  }
  
  - (NSString *)title
  {  
  return self.addr;
  }
  @end  
  </code></pre>
  
  <p><strong>MapViewController.m</strong></p>
  
  <pre><code>- (IBAction)gotoCurrentLocation{
  self.mapView.showsUserLocation = YES;//a bar button linked with this action
  }
  
  - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
  {    
  CLLocation *currentLocation = userLocation.location;
  
  MKCoordinateRegion newRegion; 
  newRegion.center = currentLocation.coordinate;
  newRegion.span.latitudeDelta = 0.02;
  newRegion.span.longitudeDelta = 0.02;
  [self.mapView setRegion:newRegion animated:YES];
  
  WhereAmIAnnotation *whereAmIAnnotation = [[WhereAmIAnnotation alloc] init];
  whereAmIAnnotation.myLocation = currentLocation;
  whereAmIAnnotation.addr = [self addrAtLocation:currentLocation];
  
  [self.mapView addAnnotation:whereAmIAnnotation];
  
  self.mapView.showsUserLocation = NO;
  }
  
  - (NSString *)addrAtLocation:(CLLocation *)location{
  [self.geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemark, NSError *error) {
      CLPlacemark *topResult = [placemark objectAtIndex:0]; 
      self.addr = [NSString stringWithFormat:@"%@ %@ %@ %@", topResult.country, topResult.locality, topResult.subLocality, topResult.thoroughfare];
  }];
  return self.addr;
  }
  </code></pre>
  
  <p>I should implement this method </p>
  
  <pre><code>- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id )annotation{}
  </code></pre>
  
  <p><strong>sorry for this stupid question!</strong></p>