gpt4 book ai didi

ios - 在后台线程中下载多个文件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:32:07 26 4
gpt4 key购买 nike

我是一次下载一个文件,一个一个地下载,或者只根据用户要求下载一个文件。下载文件后,我将通知发送到另一个 View 作为成功消息。

当我一次下载一个文件时,它正在成功下载该文件。但是当我试图在 6 秒的时间间隔内下载两个或更多文件时(按下另一个下载按钮),第一个文件没有下载。它只下载我发送下载的最后一个文件。

如有任何帮助,我们将不胜感激。

url=[NSURL URLWithString:currentURL];
NSMutableURLRequest * request = [[NSMutableURLRequest alloc]initWithURL:url];
[request setHTTPMethod:@"GET"];

NSURLConnection *connection=[[NSURLConnection alloc]initWithRequest:request delegate:self startImmediately:YES];
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void)
{ //Background Thread
{

[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *dataMain, NSError *error)
{
if ([dataMain length]/1024.0f > 600 && error == nil)
{

[dataMain writeToFile:pathOriginal atomically:YES];
NSLog(@"orginal file saved");
}
}];
}
dispatch_async(dispatch_get_main_queue(), ^(void){
[[NSNotificationCenter defaultCenter] postNotificationName:@"TestNotification" object:self];
}); });

最佳答案

在每次调用之前使用 dispatch async。这样每个调用都将在不同的线程上运行,并将解决您的问题。

希望这对您有所帮助!

关于ios - 在后台线程中下载多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45640718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com