Skip to content

Instantly share code, notes, and snippets.

@LutherBaker
Forked from JARinteractive/WaitUntil.swift
Created July 31, 2017 22:29
Show Gist options
  • Save LutherBaker/16218c30756591a8c30083832e2d164e to your computer and use it in GitHub Desktop.
Save LutherBaker/16218c30756591a8c30083832e2d164e to your computer and use it in GitHub Desktop.
wait for condition to be true
import Foundation
func waitUntil(_ checkSuccess: @autoclosure ()->Bool) {
return waitUntil(1.0, checkSuccess)
}
func waitUntil(_ timeout: Double, _ checkSuccess: @autoclosure ()->Bool) {
let startDate = NSDate()
var success = false
while !success && abs(startDate.timeIntervalSinceNow) < timeout {
RunLoop.current.run(until: Date(timeIntervalSinceNow: 0.01))
success = checkSuccess()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment