0

現在、サブビューの下で列挙するために enumerateObjectsUsingBlock ブロックを使用していますが、ブロックの完了をどのように把握できますか?

以下はブロックの内容です

[self.view.subviews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

// The content
}];

ありがとう

4

1 に答える 1

4

これenumerateObjectsUsingBlockは非同期メソッドではありません。同期的に実行されます。そのため、列挙が完了するまで次の行に進みません。

おそらく、非同期リクエストの完了ハンドラーと組み合わせてブロックを見ることに慣れているでしょう (例: sendAsynchronousRequest)。ただし、この場合はenumerateObjectsUsingBlock、コレクションを効率的に列挙するためのメカニズムにすぎません ( Objective-Cガイドのプログラミングのブロックによる列挙の簡略化を参照してください)。そして、これを同期的に行います。

于 2013-09-30T22:09:03.207 に答える