GCD基本使用
GCD是iOS开发中常用的一种线程使用方法,相比NSThread来说,代码更加的底层一点,用了Block来写具体的回调,是开发者书写起来更加的简洁与高效,可读性强。下面贴上两个个比较常用用法。
执行耗时操作
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
//执行耗时操作,比如文件处理图片处理
//...
dispatch_async(dispatch_get_main_queue(), ^{
//主界面更新界面(UI改动只能在主线程进行)
//...
});
});
延迟进行的操作
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(延迟秒数 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//延迟进行的操作代码。
//...
});