objective-c - Objective C 只读 int?什么?

标签 objective-c int readonly

我做了一个 int 来计算我的一个过程有多少成功。在我的代码之外,我声明:

int 成功数 = 0

然后在我的循环中,我有 successes++;,此时 XCode 提示“变量不可分配(缺少 _block 类型说明符)”。

这是怎么回事?为什么我不能增加我的整数?我从未声明它是只读的...

非常感谢任何帮助。

我使用的代码是:

_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 内(^{...} 语法)。如果变量没有 __block 说明符,则 block 不能更改 block 外的变量。

关于objective-c - Objective C 只读 int?什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6727179/

相关文章:

readonly - Docker,将卷挂载为只读

javascript - 带有启用工具栏按钮的 CKEditor ReadOnly

java - Objective-C 到 Java 交叉编译器

java - Java 中 int 的范围错误

c - 为什么我们可以对 scanf 和 printf 使用 %d?

c# - 如果有的话,我们什么时候应该使用 const?

ios - 无法导航到 iOS 9 中的其他屏幕

ios - 将类别与 UIResponder 一起使用 - 坏主意?

objective-c - UICollectionView 单元格中的对象/项目而不是索引?

java - 为什么 double 总是 8 个字节,而 int 总是 4 个字节,即使 int 有更多位数?