大佬教程收集整理的这篇文章主要介绍了ios – Swift 2上的同步URL请求,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
func send(url: String,f: (String)-> ()) { var request = NSURLrequest(URL: NSURL(String: url)!) var response: NSURLResponse? var error: NSErrorPointer = nil var data = NSURLConnection.sendSynchronousrequest(request,returningResponse: &response,error: error) var reply = NSString(data: data,encoding: NSUTF8StringEncoding) f(reply) }
但是NSURLConnection.sendSynchronousrequest(请求,返回响应:&响应,错误:错误)的函数已被弃用,我看不到如何在Swift上执行同步请求,因为替代方法是异步的.显然,苹果不推荐使用唯一可以同步进行的@L_696_8@.
我怎样才能做到这一点?
>请求阻止您的UI,如果不是从不同的线程调用,但如果这样做,为什么不使用异步处理程序?
>除了自己的错误之外,没有办法取消该请求
而不是这样,只需使用异步请求:
NSURLConnection.sendAsynchronousrequest(request,queue: queue,completionHandler:{ (response: NSURLResponse!,data: NSData!,error: NSError!) -> Void in // Handle incoming data like you would in synchronous request var reply = NSString(data: data,encoding: NSUTF8StringEncoding) f(reply) })
iOS9弃用
由于在iOS9中,这种方法已被弃用,建议您使用NSURLSession:
let session = NSURLSession.sharedSession() session.dataTaskWithrequest(request) { (data,response,error) -> Void in // Handle incoming data like you would in synchronous request var reply = NSString(data: data,encoding: NSUTF8StringEncoding) f(reply) }
以上是大佬教程为你收集整理的ios – Swift 2上的同步URL请求全部内容,希望文章能够帮你解决ios – Swift 2上的同步URL请求所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。