1、定义一个协议:以后需要使用网络请求地方,实现请求就ok
//自定义http协议 protocolHttpProtocol{ //定义一个方法接收一个字典 funcdidRecieveResults(resultes:NSDictionary) } classHttpController:NSObject{ //定义一个可选代理 vardelegate:HttpProtocol? //定义一个方法运过来获取网络数据,接收参数为网址 funconSearch(url:String){ //定义一个NSURL varnsUrl:NSURL=NSURL(string:url)! //定义一个NSURLRequest varrequest:NSURLRequest=NSURLRequest(URL:nsUrl) //异步获取数据 NSURLConnection.sendAsynchronousRequest(request,queue:NSOperationQueue.mainQueue(),completionHandler:{(response:NSURLResponse!,data:NSData!,error:NSError!)->Voidin //由于我们获取的数据是json格式,所以我们可以将其转化为字典。 varjsonResult:NSDictionary=NSJSONSerialization.JSONObjectWithData(data,options:NSJSONReadingOptions.MutableContainers,error:nil)as!NSDictionary //将数据传回给代理 self.delegate?.didRecieveResults(jsonResult) }) } }
2.在实现协议的类里重写didRecieveResults就行,如果不想用字典,可以转成String,修改协议里的网络请求即可。
funcdidRecieveResults(resultes:NSDictionary) { //dosomething }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。