美文网首页
Swift4.0 GCD的API变化

Swift4.0 GCD的API变化

作者: 面糊 | 来源:发表于2017-12-09 00:43 被阅读53次
  • 今天写了一下Swift4.0, 突然发现原来GCD的API都不能用了, 谷歌之后才发现, 苹果将GCD的API统统改了一遍, 原来OC风格的API都变成了下面这个样子

  • 新的API都是以DispatchQueue开头的各种方法, 主线程就是DispatchQueue.main, 子线程就是DispatchQueue.global()

    func loadData(completion: @escaping (_ jsonData: String) -> ()) {
        DispatchQueue.global().async {
            print("发送异步请求: \(Thread.current)")
    
            DispatchQueue.main.sync {
                print("请求完毕, 回到主线程: \(Thread.current)")
                // 闭包如果要交给方法调用者来传入代码
                // 则需要在参数声明闭包的时候声明该闭包为逃逸闭包
                completion("123");
            }
        }
      
        DispatchQueue(label: "first").async {
            print("发送异步请求: \(Thread.current)")
          
            DispatchQueue.main.sync {
                print("请求完毕, 回到主线程: \(Thread.current)")
                completion("123");
            }
        }
    }

相关文章

网友评论

      本文标题:Swift4.0 GCD的API变化

      本文链接:https://www.haomeiwen.com/subject/gjtuixtx.html