我明白了原來的問題是在OBJ - C的,但是這出現在谷歌搜索,所以對於任何人否則絆倒後,它並和需要@Lou佛朗哥的回答雨燕版本,那就是:筆記
let configuration = URLSessionConfiguration.default
let manager = AFURLSessionManager(sessionConfiguration: configuration)
let url = URL(string: "http://example.com/download.zip")! // TODO: Don't just force unwrap, handle nil case
let request = URLRequest(url: url)
let downloadTask = manager.downloadTask(
with: request,
progress: { (progress: Progress) in
print("Downloading... progress: \(String(describing: progress))")
},
destination: { (targetPath: URL, response: URLResponse) -> URL in
// TODO: Don't just force try, add a `catch` block
let documentsDirectoryURL = try! FileManager.default.url(for: .documentDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: false)
return documentsDirectoryURL.appendingPathComponent(response.suggestedFilename!) // TODO: Don't just force unwrap, handle nil case
},
completionHandler: { (response: URLResponse, filePath: URL?, error: Error?) in
print("File downloaded to \(String(describing: filePath))")
}
)
downloadTask.resume()
夫婦在這裏:
- 這是夫特3/4斯威夫特
- 我添加了一個
progress
閉合以及(只是一個print
語句)。但當然,在原來的例子中,通過nil
是完全正確的。
- 有三個地方(標記爲
TODO:
)沒有錯誤處理的地方可能會失敗。顯然你應該處理這些錯誤,而不是隻是崩潰。
謝謝。它完美的作品 –
非常感謝很多人,工作良好與迅速 - 4也 –