Swift version: 5.2
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 ViRE offers discoverable way of working with regex. It provides really readable regex experience, code complete & cheat sheet, unit tests, powerful replace system, step-by-step search & replace, regex visual scheme, regex history & playground. ViRE is available on Mac & iPad.
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.