我想在一个特定的函数中实现异步的url请求,我想要完成所有这些请求,然后执行一个特定的动作,但动作先于请求,即在请求完成之前调用它。dispatch_async里面的异步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];
}];
}];
我知道这很简单,但我运行失控时间,任何帮助表示赞赏。
我会试试这个,看起来很有前途。 – satheeshwaran
它适合你吗? – aLevelOfIndirection