Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sendAsynchronousRequest在iOS 9中被弃用,如何修复我的函数_Ios_Swift - Fatal编程技术网

sendAsynchronousRequest在iOS 9中被弃用,如何修复我的函数

sendAsynchronousRequest在iOS 9中被弃用,如何修复我的函数,ios,swift,Ios,Swift,myUIImageView上的扩展正在向我发出警告。我想一个警告免费的项目,但我不知道如何妥善解决这个问题。我收到的警告是: extension UIImageView { public func imageFromUrl(urlString: String) { if let url = NSURL(string: urlString) { let request = NSURLRequest(URL: url) NSUR

my
UIImageView
上的扩展正在向我发出警告。我想一个警告免费的项目,但我不知道如何妥善解决这个问题。我收到的警告是:

extension UIImageView {
    public func imageFromUrl(urlString: String) {
        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
                if let imageData = data as NSData? {
                    self.image = UIImage(data: imageData)
                }
            }
        }
    }
}
sendAsynchronousRequest在iOS 9.0中被去除:使用[NSURLSession] dataTAskWithRequest

导致警告的扩展是:

extension UIImageView {
    public func imageFromUrl(urlString: String) {
        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
                if let imageData = data as NSData? {
                    self.image = UIImage(data: imageData)
                }
            }
        }
    }
}
试试这个

Swift 3.0

URLSession.shared.dataTask(with: request) {data, response, error in
   if (error == nil) {
      //Do needful things // Your code . . . 
   } else {
      print("Error : \(error?.localizedDescription)");
   }
}.resume();

您的警告清楚地表明,
sendAsynchronousRequest在iOS 9.0中被删除:使用[nsurSession dataTAskWithRequest
,这意味着您应该使用
nsurSession
,而不是
NSURLConnection

你应该这样做

 var task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
    print("Response: \(response)")})

task.resume()

对于Swift 4.0使用以下选项:

let request = URLRequest(url: URL(string: "URL Here")!)

let session = URLSession.shared
let task = session.dataTask(with: request, completionHandler: { data, response, error -> Void in

    do {
        //your code here
    } catch {
        print("error")
    }

})

task.resume()