特定の関数に非同期 URL リクエストを実装しようとしています。これらのすべてのリクエストを完了してから特定のアクションを実行したいのですが、アクションがリクエストよりも優先されます。つまり、リクエストが完了する前に呼び出されます。
dispatch_queue_t fetchQ = dispatch_queue_create("Featured Doc Downloader", NULL);
dispatch_async(fetchQ, ^{
[self myAsyncMultipleURLRequestFunction];
dispatch_sync(dispatch_get_main_queue(), ^{
[self updateUIFunction];
});
});
-(void)myAsyncMultipleURLRequestFunction
{
for (int i=0; i<count; i++)
{
NSURLConnection *loginConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
}
}
myAsyncMultipleURLRequestFunction がすべてのリクエストを完了する前に updateUIFunction が呼び出されるようになりました。NSOperaitonQueue でもこれを試しましたが、本当にやりたいことができませんでした。
[_operationQ addOperationWithBlock: ^ {
for (int i=0; i<count; i++)
{
NSURLConnection *loginConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
}
}
[[NSOperationQueue mainQueue] addOperationWithBlock: ^ {
// updating UI
[self updateUIFunction];
}];
}];
私はこれが簡単であることを知っていますが、私は時間がなくなっています。