Я хочу запустить блок кода за 10 секунд после события, но я хочу, чтобы его можно было отменить, чтобы, если что-то случится до этих 10 секунд, код не будет запущен через 10 секунд.
Я использую это, но это не отменяется:
static func delay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure
)
}
Как я могу это сделать?