ios - How do I iterate a loop with time delays in Swift -


so i'm trying print word "yo" 20 times 2 second time delay between each iteration. came doesn't work

    var j = 0     while(j < 20){         print("yo")          let seconds = 2.0         let delay = seconds * double(nsec_per_sec)//nanoseconds per seconds         let time = dispatch_time(dispatch_time_now, int64(delay))         dispatch_after(time, dispatch_get_main_queue()) {             j+=1         }      } 

who knows right way go this? in advance.

try this. creates 20 print yo closures @ 1 time instead of serially delaying between each one.

let delay = 2.0 * double(nsec_per_sec) (1...20).map {   iteration in   let time = dispatch_time(dispatch_time_now, int64(delay * double(iteration)))   dispatch_after(time, dispatch_get_main_queue()) {     print("yo")   } }