栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在downloadTaskWithURL完成之前,如何获取NSURLResponse?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在downloadTaskWithURL完成之前,如何获取NSURLResponse?

不使用共享会话

保留会话属性,使用此功能进行初始化。

 init(configuration configuration: NSURLSessionConfiguration?,      delegate delegate: NSURLSessionDelegate?, delegateQueue queue: NSOperationQueue?) -> NSURLSession

然后使用 dataTask 下载图片

在此委托方法中,您可以获得 响应

然后将 dataTask 更改为 downlaodTask

optional func URLSession(_ session: NSURLSession, dataTask dataTask: NSURLSessionDataTask,  didReceiveResponse response: NSURLResponse,   completionHandler completionHandler: (NSURLSessionResponseDisposition) -> Void)

示例代码:

 import UIKitclass 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()        // Do any additional setup after loading the view, typically from a nib.    }    func URLSession(session: NSURLSession, dataTask: NSURLSessionDataTask, didReceiveResponse response: NSURLResponse, completionHandler: (NSURLSessionResponseDisposition) -> Void) {        NSLog("%@",response.description)        completionHandler(NSURLSessionResponseDisposition.BecomeDownload)    }    func URLSession(session: NSURLSession, dataTask: NSURLSessionDataTask, didBecomeDownloadTask downloadTask: NSURLSessionDownloadTask) {        downloadTask.resume()    }    func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURL location: NSURL) {        NSLog("%@",location);        //Get response        NSLog("%@", downloadTask.response!.description)    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406557.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号