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 に答える