swift 4.0中dispatch_async,dispatch_after的使用

Swift 2.x

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
    let image = self.loadImage()
    // 回到主线程更新UI
    dispatch_async(dispatch_get_main_queue()) {
        self.imageView.image = image
    }
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(1.5 * Double(NSEC_PER_SEC))), dispatch_get_main_queue()) {
    print("test")
}

Swift 4.0

DispatchQueue.global(qos: .userInitiated).async {
    let image = self.loadImage()
    // back to the main thread 
    DispatchQueue.main.async {
        self.imageView.image = image
    }
}
DispatchQueue.main.asyncAfter(deadline: .now() + 2.5) { 
    print("Are we there yet?")
}



猜你喜欢

转载自blog.csdn.net/jacob_ios/article/details/79729251