我试图遍历数组以计算一个值,该代码由以下代码建模:
double foo = 0;
[sortedKeys enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
foo += (NSNumber*)[obj doSomething].doubleValue
}];
但是我收到一个错误,指出foo的作用域不适当,我该如何设置foo,以便该块看到它并可以在运行时对其进行修改。
最佳答案
您应该在声明中添加__block
,以便能够从块内部修改变量:
__block double foo = 0;
关于objective-c - 遍历数组时的iOS块作用域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12587467/