ios - dispatch_after wont run code under it when executed in swift -
when use dispatch_after method produce delay never executes code after it. need return array skips on it. here matt's delay method: func delay(delay:double, closure:()->()) { dispatch_after( dispatch_time( dispatch_time_now, int64(delay * double(nsec_per_sec)) ), dispatch_get_main_queue(), closure) } here method error occurs: func rolldice() -> array<int> { var dicearray = [int]() let timertime:nstimeinterval = 0.3 delay(timertime) { //my code } return dicearray //never gets here } you don't seem understand delay is. code operate in order: func rolldice() -> array<int> { var dicearray = [int]() // 1 let timertime:nstimeinterval = 0.3 delay(timertime) { // 3 } return dicearray // 2 } so, rolldice return empty dicearray before code inside delay ever runs. whatever doing inside delay ineffective point of view; has, , can hav...