Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.52 KB | None | 0 0
  1. class Task {
  2. var cancelled = false
  3.  
  4. func cancel() {
  5. cancelled = true
  6. }
  7.  
  8. static func dispatch_after(deadline: DispatchTime, on targetQueue: DispatchQueue, execute work: @escaping () -> ()) -> Task {
  9. let task = Task()
  10. targetQueue.asyncAfter(deadline: deadline) {
  11. if !task.cancelled {
  12. work()
  13. }
  14. }
  15. return task
  16. }
  17. }
  18.  
  19. let task = Task.dispatch_after(deadline: DispatchTime.now()+2, on: DispatchQueue.main) {
  20. print("yoyo")
  21. }
  22. task.cancel()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement