DispatchAfter is a simple and modern way to make delayed calls with ability to cancel them. It written in Swift and can be used in both Swift and Objective-C projects.
Notes:
- works on any thread but dispatches only to main
- no need to make strong ref to SFDispatchObject while waiting for dispatch