Swift网络开发-在DownloadTask完成前获取Resposne
发布时间:2020-12-14 02:13:28 所属栏目:百科 来源:网络整理
导读:原创Blog,转载请注明出处 blog.csdn.net/hello_hwc 前言:这是今天在StackOverflow上给阿三回答的一个问题,在这里写成博客,方便遇到同样问题的人 原理: 用DataTask获取Response,并且将DataTask转变成DownloadTask - 对应代理函数 didReceiveResponse
原创Blog,转载请注明出处 前言:这是今天在StackOverflow上给阿三回答的一个问题,在这里写成博客,方便遇到同样问题的人 原理:
注意:
这些在我之前网络开发的部分讲的很清楚,不懂的可以找一下我之前的博客 http://blog.csdn.net/column/manage.html?alias=huangwenchen-ios-sdk 完整代码 import UIKit
class ViewController: UIViewController,NSURLSessionDelegate,NSURLSessionDataDelegate,NSURLSessionDownloadDelegate{
var session:NSURLSession?
var dataTask:NSURLSessionDataTask?
let url = NSURL(string:"http://www.zastavki.com/pictures/originals/2013/Photoshop_Image_of_the_horse_053857_.jpg")!
var infoDic = NSMutableDictionary()
override func viewDidLoad() {
super.viewDidLoad()
let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
let manqueue = NSOperationQueue.mainQueue()
session = NSURLSession(configuration: configuration,delegate:self,delegateQueue: manqueue)
dataTask = session?.dataTaskWithRequest(NSURLRequest(URL: url))
dataTask?.resume()
}
func URLSession(session: NSURLSession,dataTask: NSURLSessionDataTask,didReceiveResponse response: NSURLResponse,completionHandler: (NSURLSessionResponseDisposition) -> Void) {
NSLog("%@",response.description)
completionHandler(NSURLSessionResponseDisposition.BecomeDownload)
}
func URLSession(session: NSURLSession,didBecomeDownloadTask downloadTask: NSURLSessionDownloadTask) {
downloadTask.resume()
}
func URLSession(session: NSURLSession,downloadTask: NSURLSessionDownloadTask,didFinishDownloadingToURL location: NSURL) {
NSLog("%@",location);
//Get response
NSLog("%@",downloadTask.response!.description)
}
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |