IOS GCD执行并发编程
时间:2022-06-25
本文章向大家介绍IOS GCD执行并发编程,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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 }
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 变量的删除与替换
- linux 正则表达式详解
- grafana使用教程之安装worldPing插件
- 同事:把"重试"抽象出来做个工具类吧
- Redis慢查询日志
- LinkedList源码阅读笔记
- RTSP协议网络摄像头接入视频平台EasyNVR
- 在 Hiplot 中使用 Sigflow
- 0805-CDH5中的Parquet迁移至CDP中兼容性验证
- 为什么我的Redis这么“慢”?
- Nginx系列:数据压缩
- Ray,面向新兴AI应用的分布式框架
- 60.Vue export default 和 export 的使用方式
- Idea开发maven插件
- redis实战 migrate异常NOAUTH Authentication required.