gpt4 book ai didi

ios - NSURLSessionDownloadTask 可以恢复调用两次吗?

转载 作者:行者123 更新时间:2023-11-29 00:47:17 26 4
gpt4 key购买 nike

我是 NSURLSession 的新手,我没有在其他 stackoverflow 问题中找到答案。所以我发布这个。

我的 ViewController 中有一个 Button 和 ProgressBar。使用 NSURLSessionDownloadTask 的实例,我调用 resume 如下

@property (nonatomic, strong) NSURLSessionDownloadTask *downloadTask;

@interface

的上一行指定
 NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration delegate:self delegateQueue:[NSOperationQueue mainQueue]];
self.downloadTask = [session downloadTaskWithURL:url];

@implementation 中指定以上行并在按钮点击时调用 resume 方法如下

-(void) buttonpressed:(id)sender{
[self.downloadTask resume];
}

这里发生的事情是,

当我第一次点击按钮时,它会完美下载

(即调用正确的委托(delegate)方法
下载任务:didWriteData:totalBytesWritten:totalBytesExpectedToWrite
& didFinishDownloadingToURL

但是当我再次单击该按钮时,它没有下载(即委托(delegate)方法没有调用)

1) Where i am doing mistake?

2) I want it to download again if i click the button second time. What should i do for that?

感谢任何帮助,感谢您的宝贵时间(:

最佳答案

resume 仅适用于挂起的任务,而您的任务已完成。简单的解决方法是在同一函数中创建并开始(实际上是恢复)任务。

- (void)setupAndStartDownload {
// your setup code, from the OP
// then start it here
[self.downloadTask resume];
}

-(void) buttonpressed:(id)sender{
[self setupAndStartDownload];
}

关于ios - NSURLSessionDownloadTask 可以恢复调用两次吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38484506/

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