延迟执行

2017-06-05  本文已影响8人  George2016
protocol DelayProtocol { }
extension DelayProtocol where Self: UIViewController {
    func delay(_ time: Double, handler: @escaping ()->()) {
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()+time, execute: handler)
    }
}

使用方法:
UIViewController遵循DelayProtocol代理, 然后就可以在viewDidLoad方法中使用了。

//避免循环引用
weak var weakself = self
delay(2) {
    weakself?.myObject = "Hello George"
}
上一篇 下一篇

猜你喜欢

热点阅读