前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IOS GCD执行并发编程

IOS GCD执行并发编程

作者头像
用户5760343
发布2019-07-08 13:02:28
4480
发布2019-07-08 13:02:28
举报
文章被收录于专栏:sktj
代码语言:javascript
复制
 1 var label = UILabel()
 2 override func viewDidLoad() {
 3 super.viewDidLoad()
 4 // Do any additional setup after loading the view,
 typically from a nib.
 5
 6 label.frame = CGRect(x:0, y:0, width:320, height:
 
7 label.text = “Loading……”
 8 label.font = UIFont(name:“Arial”, size:24)
 9 label.backgroundColor = UIColor.orange
 10 label.numberOfLines = 0
 11 label.lineBreakMode =
 NSLineBreakMode.byWordWrapping
 12 self.view.addSubview(label)
 13
 14 let apiURL =
 URL(string:“http://ip.taobao.com/service/getIpInfo.php?
 ip=27.156.152.57”)
 15
 16 let globalQueue = DispatchQueue.global()
 17 globalQueue.async{
 18 let result = try?Data(contentsOf:apiURL!)
 19 let message = String(data:result!, encoding:
 String.Encoding.utf8)
 20 DispatchQueue.main.async
 21 {
 22 self.label.text = message
 23 }
 24 }
 25 }
//
 1 override func viewDidLoad() {
 2 super.viewDidLoad()
 3 // Do any additional setup after loading the view,
 typically from a nib.
 4 print(“开始任务,并显示Loading动画。”)
 5
 6 let group = DispatchGroup()
 7 let globalQueue = DispatchQueue.global()
 8
 9 globalQueue.async(group:group, execute: {_ in
 10 print(“从远程服务器加载用户头像。”)
 11 })
 12
 13 globalQueue.async(group:group, execute: {_ in
 14 print(“根据用户id获得年度所有的交易额纪录。”)
 15 })
 16
 17 globalQueue.async(group:group, execute: {_ in
 18 print(“根据用户id获得所有被用户收藏的商品名称。”)
 19 })
 20
 21 group.notify(queue:globalQueue, execute:{_ in
 22 print(“完成所有任务,隐藏Loading动画。”)
 23 })
 24 }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.06.10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档