Ios 将NSURLConnection更改为NSURLSession后,加载图像速度较慢

Ios 将NSURLConnection更改为NSURLSession后,加载图像速度较慢,ios,uiimage,swift2,ios9,nsurlsession,Ios,Uiimage,Swift2,Ios9,Nsurlsession,我在iOS 8中有一个加载图像的代码,速度非常快 if let url = NSURL(string: urlString) { let request = NSURLRequest(URL: url) NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { (response: NSURLResponse?, data:

我在iOS 8中有一个加载图像的代码,速度非常快

if let url = NSURL(string: urlString) {
        let request = NSURLRequest(URL: url)
        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {
            (response: NSURLResponse?, data: NSData?, error: NSError?) -> Void in
            self.image = UIImage(data: data!)
        }
    }
然后iOS 9出来了,我很挣扎

let session = NSURLSession.sharedSession()
    let urlString = urlString
    let url = NSURL(string: urlString)
    let request = NSURLRequest(URL: url!)
    let dataTask = session.dataTaskWithRequest(request) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
        self.image = UIImage(data: data!)
    }
    dataTask.resume()

图像加载速度非常慢。

dataTaskWithRequest
关闭中,您必须在主线程上更新图像。这样做:

let dataTask = session.dataTaskWithRequest(request) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
    dispatch_async(dispatch_get_main_queue()) {
        self.image = UIImage(data: data!)
    }
}

可能重复做得好!非常感谢你。图像加载速度更快!