2

我试图遍历一个数组以计算一个值,由下面的代码建模:

double foo = 0;

[sortedKeys enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
  foo += (NSNumber*)[obj doSomething].doubleValue
}];

但是我收到一个错误,提示 foo 的范围不合适,我该如何设置 foo 以便块看到它并在它运行时对其进行修改。

4

1 回答 1

2

您应该添加__block到声明中,以便能够从块内修改变量:

__block double foo = 0;
于 2012-09-25T16:47:20.147 回答