如何从url数组循环下载swift4中的pdf
Posted
技术标签:
【中文标题】如何从url数组循环下载swift4中的pdf【英文标题】:How to loop download pdf in swift4 from array of url 【发布时间】:2018-04-05 08:11:43 【问题描述】:我想从我的服务器端从 url 数组循环下载 pdf 文件,我想让它在用户关闭视图控制器并打开主窗体时在后台运行,同样在主窗体中,我们可以再次打开下载视图控制器查看下载进度。我已经用 Alamofire 完成了它并将其用作递归(在下载每个文件完成后再次调用自身并使用带有 popLast 函数的 for-loop 从数组中弹出 url)但问题是我无法跟踪在后台,我无法检查后台请求是否已经在运行。如果我们在alamofire中做不到,那么urlsession可以实现我想要做的吗?
请帮忙。我真的需要你的所有帮助,我也是 ios 和 *** 的初学者,如果我在某个地方错了,请原谅我。
【问题讨论】:
【参考方案1】:到目前为止,我从您的描述中了解到您需要同步所有任务。在您的情况下,您可以使用 DispatchGroup。它允许工作的聚合同步。您可以使用它提交多个不同的 pdf URL 以下载并跟踪它们何时通过 group.notify 方法完成。
查看下面的示例代码:
func fetchPdfFiles()
let group = DispatchGroup()
let urlList = ["Pdfurl1", "Pdfurl2", "Pdfurl3"]
// start your progressbar if you like
for str in urlList
group.enter()
call_your_alamofire_Request(url: str, onCompletion: (response) in
do
//save your pdf
//Update progress bar
catch let error
print("Error:", error)
//Handle error
group.leave()
)
group.notify(queue: .main)
print("- all pdfs Download done")
// Finally you need to do what ever if you like
//Stop progressbar
【讨论】:
以上是关于如何从url数组循环下载swift4中的pdf的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Java 中的给定 URL 下载 PDF? [复制]
如何使用 Python 从指向子 URL 的 URL 下载 pdf 文件