1
我想取消下載請求時,我按下取消按鈕。 現在,當我按下下載按鈕下面的代碼工作取消按鈕在快速按下時如何取消下載請求
@IBAction func downloadButtonPressed(sender: UIButton) {
var fileName = noticeAttacchment[0]["fileName"] as! String
var fileUrl = noticeAttacchment[0]["fileUrl"] as! String
if var URL = NSURL(string: fileUrl){
Api.load(URL, fileName: fileName)
}
}
我的下載類是
class Api {
class func load(URL: NSURL , fileName : String) {
let sessionConfig = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: sessionConfig, delegate: nil, delegateQueue: nil)
let request = NSMutableURLRequest(URL: URL)
request.HTTPMethod = "GET"
let task = session.dataTaskWithRequest(request, completionHandler: { (data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in
if (error == nil) {
FileSave.saveData(
data, directory: NSSearchPathDirectory.CachesDirectory, path: fileName, subdirectory: "edstem")
}
else {
println("Faulure: %@", error.localizedDescription);
}
})
task.resume()
}
}
因此,如何取消當取消按鈕按下
請求
這怎麼可能,請解釋一下? – azhar
'dataTaskWithRequest(_ :)'返回你已經在你的任務變量中擁有的'NSURLSessionDataTask'。所以你可以像調用task.resume()一樣調用task.cancel()。現在清楚嗎? – libec