Mas*_*son 19 int objective-c readonly
我做了一个int来计算我的一个进程有多少成功.在我的代码之外,我声明:
int successes = 0
.
然后在我的循环中,我有successes++;
,此时XCode抱怨"变量不可分配(缺少_block类型说明符)".
到底是怎么回事?为什么我不能增加我的int?我从未宣称它是只读的......
任何帮助深表感谢.
我使用的代码是:
_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];
}
Run Code Online (Sandbox Code Playgroud)
Joh*_*eek 41
你的循环在一个块内(^{...}
语法).如果没有具有__block
说明符的变量,则块不能更改块外的变量.
归档时间: |
|
查看次数: |
7443 次 |
最近记录: |