遅延の後にダウンロードタスクを再開するにはどうすればよいですか?URLSessionで失敗したダウンロードを再試行する:task:didCompleteWithError
が、私はこのスレッドを見ていた:
iOS NSURLSession, how to retry in didCompleteWithError
ロブによって提案された第三のアプローチは、私がやろうとしているが、私は遅延を設定する方法がわからないものです。私は10秒(発言を)待ってから再開したいと思います
-(void)URLSession:(NSURLSession*)session task:(NSURLSessionTask*)task didCompleteWithError:(NSError*)error {
if (error == nil)
return;
NSData* resume_data = error.userInfo[NSURLSessionDownloadTaskResumeData];
NSURLSessionDownloadTask* new_task = [_session downloadTaskWithResumeData:resume_data];
[new_task resume];
}
:
はこれまでのところ、私はこのような何かを持っています。
バックグラウンドスレッドから呼び出された場合、performSelector:withObject:afterDelay: 'は動作しません。 dispatch_afterを試してみてください。どんなスレッドからでも動作します(ただし、いくつか注意が必要です)。ありがとう。 – OlDor
ありがとう。これは、遅延の後に関数を呼び出すという直ちの問題を解決しました。 – Ash