Swift version: 5.6
There are two ways to run code after a delay using Swift: GCD and perform(_:with:afterDelay:)
, but GCD has the advantage that it can run arbitrary blocks of code, whereas the perform()
method runs methods.
So, using GCD we can write something that runs code after a half-second delay:
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
// your code here
}
An alternative option is to use perform(_:with:afterDelay:)
, which lets you specify a method to call after a certain time has elapsed.
To call the authenticate()
method after 1 second, you would use this code:
perform(#selector(authenticate), with: nil, afterDelay: 1)
Note: any method called using perform(_:with:afterDelay:)
must be marked with the @objc
attribute.
SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure your entire paywall view without any code changes or app updates.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 4.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.