使用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("数据加载完毕!") //继续执行其他代码.......
相关文章推荐
- 期中抽奖系统
- Windows下使用GetOpt函数使用
- android设置去标题栏以及设置横竖屏方法
- redis缓存技术学习
- 什么是反射?
- 破而后立
- Android Fragment完全解析,关于碎片你所需知道的一切
- 北向接口与南向接口
- 复习二进制位的一些操作
- 设计模式之Singleton模式(单例模式)
- 一些简单而又不失个性的css3片段(持续更新)
- xcode每次都要暂停程序才能进行下次运行
- AC自动机模板
- 防刷新,只有关闭浏览器才会增加点击量
- Fragment要点总结
- Oracle11gR2 sqlplus中可以执行上键查询backspace删除
- Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释
- C#实现企业邮件发送,支持HTML格式
- Smobiler如何开启日志功能
- JAVA_WEB之EL表达式与11大隐式对象