在iOS 9中不推荐使用sendAsynchronousRequest

在iOS 9中不推荐使用sendAsynchronousRequest,第1张

概述我正在尝试将我的代码从 Swift 1.2更改为 Swift 2.0,但我遇到了一些关于“sendAsynchronousRequest”的问题,因为它总是显示警告,因为它已被弃用.我已尝试使用此帖子中的另一个解决方案: Cannot invoke ‘sendAsynchronousRequest’ in Swift 2 with an argument list但它仍然无法正常工作,我再次收到相 我正在尝试将我的代码从 Swift 1.2更改为 Swift 2.0,但我遇到了一些关于“sendAsynchronousRequest”的问题,因为它总是显示警告,因为它已被弃用.我已尝试使用此帖子中的另一个解决方案: Cannot invoke ‘sendAsynchronousRequest’ in Swift 2 with an argument list但它仍然无法正常工作,我再次收到相同的警告.

我必须在代码中更改以解决此警告?警告如下:

在iOS 9中不推荐使用sendAsynchronousRequest,使用dataTaskWithRequest:completionHandler

这是我的代码:

func collectionVIEw(collectionVIEw: UICollectionVIEw,cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionVIEwCell {    // try to reuse cell    let cell = collectionVIEw.dequeueReusableCellWithReuseIDentifIEr(reuseIDentifIEr,forIndexPath: indexPath) as! marcaCollectionVIEwCell    // get the deal image    let currentimage = marcas[indexPath.row].imagen    let unwrappedImage = currentimage    var image = self.imageCache[unwrappedImage]    let imageUrl = NSURL(string: marcas[indexPath.row].imagen)    // reset reused cell image to placeholder    cell.marcaimageVIEw.image = UIImage(named: "")    // async image    if image == nil {        let request: NSURLRequest = NSURLRequest(URL: imageUrl!)        NSURLConnection.sendAsynchronousRequest(request,queue: NSOperationQueue.mainQueue(),completionHandler: {(response: NSURLResponse?,data: NSData?,error: NSError?) -> VoID in            if error == nil {                image = UIImage(data: data!)                self.imageCache[unwrappedImage] = image                dispatch_async(dispatch_get_main_queue(),{                    cell.marcaimageVIEw.image = image                })            }            else {            }        })    }    else {        cell.marcaimageVIEw.image = image    }    return cell}
解决方法 警告警告,NSURLConnection已经死亡. NSURLSession万岁.

let session = NSURLSession.sharedSession()let urlString = "https://API.yoursecureAPIservergoeshere.com/1/whatever"let url = NSURL(string: urlString)let request = NSURLRequest(URL: url!)let dataTask = session.dataTaskWithRequest(request) { (data:NSData?,response:NSURLResponse?,error:NSError?) -> VoID in  print("done,error: \(error)")}dataTask.resume()
总结

以上是内存溢出为你收集整理的在iOS 9中不推荐使用sendAsynchronousRequest全部内容,希望文章能够帮你解决在iOS 9中不推荐使用sendAsynchronousRequest所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1008030.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存