Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
This comment has been minimized.
This comment has been minimized.Show comment Hide comment
performSelector:withObject:afterDelay: is non-blocking and will defer to the runloop. I suspect (but haven't bothered benchmarking) that spawning a new thread, and then dispatching back to the main runloop is actually more expensive than letting the runloop handle things outright.