scheduledtimer scheduled example ios swift nstimer

ios - scheduled - NSTimer-cómo retrasar en Swift



timer.scheduledtimer swift 4 example (3)

¿Qué hay de usar Grand Central Dispatch?

https://developer.apple.com/library/ios/documentation/Performance/Reference/GCD_libdispatch_Ref/index.html

Valfer te ha mostrado cómo

Tengo un problema con retrasar el movimiento de la computadora en un juego.

He encontrado algunas soluciones pero no funcionan en mi caso, por ejemplo

var delay = NSTimer.scheduledTimerWithTimeInterval(4, target: self, selector: nil, userInfo: nil, repeats: false)

Traté de usar esto con la función de fire pero también para ningún efecto.

¿Qué otras posibilidades hay?


En veloz podemos retrasar utilizando Dispatch_after.

SWift 3.0: -

DispatchQueue.main.asyncAfter(deadline: .now()+4.0) { alert.dismiss(animated: true, completion: nil) }


Swift 3

Con GCD:

let delayInSeconds = 4.0 DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + delayInSeconds) { // here code perfomed with delay }

o con un temporizador:

func myPerformeCode() { // here code to perform } let myTimer : Timer = Timer.scheduledTimer(timeInterval: 4, target: self, selector: #selector(self.myPerformeCode), userInfo: nil, repeats: false)

Swift 2

Con GCD:

let seconds = 4.0 let delay = seconds * Double(NSEC_PER_SEC) // nanoseconds per seconds let dispatchTime = dispatch_time(DISPATCH_TIME_NOW, Int64(delay)) dispatch_after(dispatchTime, dispatch_get_main_queue(), { // here code perfomed with delay })

o con un temporizador:

func myPerformeCode(timer : NSTimer) { // here code to perform } let myTimer : NSTimer = NSTimer.scheduledTimerWithTimeInterval(4, target: self, selector: Selector("myPerformeCode:"), userInfo: nil, repeats: false)