0

複数のhttpリクエストを非同期で行う必要があります(一度に1つのリクエスト)。ループするために私はこれをしています:

-(void) Foo1
{
    [makerequest];
}

-(void) requestCompletes
{
   //Do something
   [self Foo1:[array objectAtIndex:i++]];
}

viewDidLoad
{
         [self Foo1:[array objectAtIndex:0]];
}

しかし、コンプリーションハンドラーでループすることは私には良い考えではないようです。これは正しい方法ですか?

4

1 に答える 1

1

いいえ、これは正しい方法ではありません。iOSプラットフォームにはNSOperationQueueクラスがあり、これを使用して操作をスケジュールできます。いずれかの操作(NSInvocationOperationNSBlockOperation、またはNSOperation )の独自のサブクラスを作成し、それを使用してNSURLRequestをラップアラウンドすることにより、を呼び出すことでWeb要求を簡単に追加および実行できます。

[operationQueue addOperation:requestOperation];
于 2012-11-05T18:16:46.997 に答える