[转]block(闭包)一点也不神秘—如何利用block进行回调
原文:http://blog.csdn.net/mobanchengshuang/article/details/11751671
原文是OC, 对应 Swift 3 如下:
override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. print(" === 我在玩手机") print(" === 手机没电了") self.chargeMyIphone() { print(" === 出去逛街了") } //self.perform(#selector(chargeMyIphone), with: nil, afterDelay: 3) print(" === 我在看电视") } func chargeMyIphone(completion: @escaping ()->Void) { //Thread.sleep(forTimeInterval: 10) let delayInSeconds = 10.0 let popTime = DispatchTime.now() + delayInSeconds DispatchQueue.main.asyncAfter(deadline: popTime, execute: { print(" === 电充好了") completion() }) }