从方法外部访问属性

时间:2014-02-02 14:17:27

标签: ios iphone objective-c

我正在尝试查找用户当前的城市。

@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);
    }
}];
}

运行应用程序会根据位置记录当前城市。

如果我尝试在方法locationManager之外运行NSLog(@"%@", _test);,则重新创建的数据为空。有人可以解释为什么_test只在for循环中返回一个值吗?

1 个答案:

答案 0 :(得分:-2)

你应该使用dotSyntax,self.test = [placeMark locality] 有可能这是一个内存管理问题!