swift发起网络请求自然有他自己的处理类NSURLRequest。这个跟android中httpClient的作用都是一样的。因此本篇博客只是记录一下这个过程,代码比较简单。
import UIKit
protocol HttpProtocol{
func didRecieveResults(results:NSDictionary)
}
class HttpController: NSObject {
var delegate:HttpProtocol?
func onSearch(url:String){
var nsUrl:NSURL = NSURL(string:url)!
var request:NSURLRequest = NSURLRequest(URL:nsUrl)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue(), completionHandler:{(response:NSURLResponse!,data:NSData!,error:NSError!)->Void in
var jsonResult:NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as! NSDictionary
self.delegate?.didRecieveResults(jsonResult)
})
}
}
这里封装了一个处理请求的httpController类。这个请求时异步处理的值得注意的是我写了一个delegate类来数据回调。这样我们就可以在viewController里面来处理我们的数据了。viewcontroller顾名思义就是一个控制器,为了遵循MVC思想原则,我们不应该在控制器中写太多的逻辑代码,可以交给model层来出来,控制器负责调用就可以。这样代码更加易读。扩展性也好。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-19 00:57:33