您的位置:首页 > 其它

使用NSURLSession同步获取数据(通过添加信号量)

2016-05-12 09:46 281 查看
/创建NSURL对象
let urlString:String="http://hangge.com"
let url:NSURL! = NSURL(string:urlString)
//创建请求对象
let request:NSURLRequest = NSURLRequest(URL: url)

let session = NSURLSession.sharedSession()
// 设置信号开始
let semaphore = dispatch_semaphore_create(0)

let dataTask = session.dataTaskWithRequest(request,
completionHandler: {(data, response, error) -> Void in
if error != nil{
print(error?.code)
print(error?.description)
}else{
let str = NSString(data: data!, encoding: NSUTF8StringEncoding)
print(str)
}
//设置信号结束
dispatch_semaphore_signal(semaphore)
}) as NSURLSessionTask

//使用resume方法启动任务
dataTask.resume()
//等待完成..
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
print("数据加载完毕!")
//继续执行其他代码.......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: