我正在努力从 block 中获取变量。似乎是一个非常基本的东西,但我无法弄清楚!我怎样才能访问它?例如usercity
出了街区? Usercity 在 .h 中声明为 NSString。
[ceo reverseGeocodeLocation: loc completionHandler:
^(NSArray *placemarks, NSError *error) {
CLPlacemark *placemark = [placemarks objectAtIndex:0];
//NSLog(@"placemark %@",placemark);
//String to hold address
//NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "];
//NSLog(@"addressDictionary %@", placemark.addressDictionary);
//NSLog(@"placemark %@",placemark.region);
NSLog(@"Land %@",placemark.country); // Give Country Name
NSLog(@"City %@",placemark.locality); // Extract the city name
NSLog(@"Adresse %@",placemark.name);
//NSLog(@"location %@",placemark.ocean);
NSLog(@"Zip %@",placemark.postalCode); //ZipCode
NSLog(@"sonstiges %@",placemark.subLocality);
//Save values in variables
usercountry = placemark.country;
usercity = placemark.locality;
userzip = placemark.postalCode;
NSLog(@"usercity: %@",usercity);
//NSLog(@"location %@",placemark.location);
}
];
最佳答案
这是您要找的吗?
__block NSString *userCity;
[ceo reverseGeocodeLocation: loc completionHandler:^(NSArray *placemarks, NSError *error) {
CLPlacemark *placemark = [placemarks objectAtIndex:0];
...
userCity = placemark.locality;
}];
但是,如果您希望实际上能够在 block 之外检查其值,则必须在完成处理程序更新该值后执行此操作。也许使它成为一种属性(property),即。 self.userCity
?
关于ios - Objective-C 从 block 中获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26448643/