Swift - 同步请求获取网络数据

使用NSURLConnection可以实现http通信。它提供了异步请求和同步请求两种通信方式。

注意:同步请求数据会造成主线程阻塞,必须请求结束后用户才能做其他的操作,所有通常在请求大数据或者网络不畅时不建议使用。

同步请求样例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//创建NSURL对象
var url:NSURL! = NSURL(string: "http://hangge.com")
//创建请求对象
var urlRequest:NSURLRequest = NSURLRequest(URL: url)
//响应对象
var response:NSURLResponse?
//错误对象
var error:NSError?
 
//发送请求
var data:NSData? = NSURLConnection.sendSynchronousRequest(urlRequest,
    returningResponse: &response, error: &error)
 
if(error != nil){
    println(error?.code)
    println(error?.description)
}else{
    var str = NSString(data: data!, encoding: NSUTF8StringEncoding)
    println(str)
}
posted @ 2015-09-28 10:55  brave-sailor  阅读(1335)  评论(0编辑  收藏  举报