title: Access property from outside a method
body: <p>I am trying to find the users current city. </p>
  
  <pre><code>@interface WeatherViewController ()
      @property (strong, nonatomic) NSString *test;
  @end
  
  - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
  [locationManager stopUpdatingLocation];
  
  CLGeocoder * geoCoder = [[CLGeocoder alloc] init];
  [geoCoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error) {
      for (CLPlacemark * placemark in placemarks) {
          _test = [placemark locality];
          NSLog(@"%@", _test);
      }
  }];
  }
  </code></pre>
  
  <p>Running the app logs the current city based on the location. </p>
  
  <p>If I try and run <code>NSLog(@"%@", _test);</code> outside the method locationManager the data retruned is null. Can someone explain why <code>_test</code> is only returning a value inside the for loop?</p>