我定义了一个整数变量来记录一个进程成功的次数。在我的代码外面,我声明:
int successes = 0
。
然后在我的循环中,我使用successes++;
来递增变量,这时候XCode会抱怨 "variable is not assignable (missing _block type specifier)"。
出了什么问题?为什么我不能递增这个整数变量? 我从未声明它是只读的...
非常感谢任何帮助。
我使用的代码是:
_block int successes = 0;
for(CLLocation *location in locationOutputArray)
{
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error)
{
if(placemarks && placemarks.count > 0)
{
successes++;
CLPlacemark *topResult = [placemarks objectAtIndex:0];
NSString *address = [NSString stringWithFormat:@"%@ %@,%@ %@", [topResult subThoroughfare],[topResult thoroughfare],[topResult locality], [topResult administrativeArea]];
[addressOutputArray addObject:address];
NSLog(@"%@",address);
}
}];
[geocoder release];
}
__block int successes = 0;
吗?最好展示一下你的代码,因为很明显你正在使用块或其他你没有告诉我们的东西。 - jtbandes