Tôi đang cố triển khai các yêu cầu url không đồng bộ trong một hàm cụ thể, tôi muốn tất cả các yêu cầu này hoàn thành và sau đó thực hiện một hành động cụ thể nhưng hành động được đặt trước yêu cầu, nó được gọi trước khi yêu cầu hoàn tất .Yêu cầu url không đồng bộ bên trong dispatch_async
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];
}
}
bây giờ cập nhậtUIFunction được gọi trước khi myAsyncMultipleURLRequestFunction hoàn thành tất cả yêu cầu. Cũng đã thử điều này với NSOperaitonQueue nhưng không thể làm những gì tôi thực sự muốn.
[_operationQ addOperationWithBlock:^{
for (int i=0; i<count; i++)
{
NSURLConnection *loginConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
}
}
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
// updating UI
[self updateUIFunction];
}];
}];
Tôi biết điều này rất đơn giản nhưng tôi sắp hết thời gian, mọi trợ giúp đều được đánh giá cao.
Tôi sẽ thử điều này, có vẻ đầy hứa hẹn. – satheeshwaran
Ứng dụng có hoạt động cho bạn không? – aLevelOfIndirection