今天我们使用GCD来快速实现一下的iOS多线程编程。
此处只做一个简单实现,不讲述原理及相关背景知识。
实现效果图
开始动手。
Step1. 创建一个新工程,并创建新页面。
创建工程
创建新页面
绑定控件
Step2. 在Click:函数内键入单线程的代码。
单线程顺序执行两个任务
Step3. 运行程序,看看单线程的效果。
单线程效果预览
明显可以感觉到,按下按钮后在执行过程中UI是没有反应的,而且中间执行完第一个任务后,label的文本没有立即变化,只有全部执行完后才变化。
Step4. 换用多线程,采用GCD试试看。
加入dispatch_queue_t的变量
更新Click:函数体
回调的block
Step5. 试试多线程的效果。
可以看出不仅可以运行时交互多次点击毫无卡顿停滞,而且运行时间短,毕竟并行。