在IOS中如何通过gcd延迟调用方法?

A.T*_*A.T -1 objective-c ios

有没有为什么在调度后用2秒调用一个方法,就像performSelector:withObject:afterDelay:?

Meh*_*tra 8

是的你可以,

Swift 3,Swift 4

DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
    <# YOUR CODE HERE #>
}
Run Code Online (Sandbox Code Playgroud)

斯威夫特2

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2.0 * Double(NSEC_PER_SEC))), dispatch_get_main_queue()) { () -> Void in
        <# YOUR CODE HERE #>
}
Run Code Online (Sandbox Code Playgroud)

目标C.

dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        <# YOUR CODE HERE #>
    });
Run Code Online (Sandbox Code Playgroud)