¿Cómo comprobar si un NSTimer se está ejecutando o no en Swift?

Cómo comprobar si NSTimer se está ejecutando o no en Swift. En obj-c el código debería ser así, supongo:

if (!myTimer) { //DO } 

Estoy intentando configurarlo en Swift así y muestra errores.

 if !myTimer { // DO } 

Lo que hago (en ambos idiomas) es hacer que mi cronómetro sea débil. En rápido sería un débil opcional.

 weak var myTimer: NSTimer? 

Luego creo un timer con

 myTimer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timerFinetworking:", userInfo: nil, repeats: false) 

Y luego puedes usar

 if timer == nil 

para decir si se está ejecutando.

Para detener el timer, simplemente llama

 myTimer?.invalidate() 

En Objective-C sería

 [myTimer invalidate]; 

Eso funciona en Objective-C porque enviar posts a pointers nulos es válido y no hace nada.

Si no desea utilizar un opcional débil, puede consultar un timer para ver si se está ejecutando al ver su propiedad valid .

¿Qué hay de la opción a continuación? ¿Puedes ver si esto te funciona?

 if myTimer.valid { } 
 if !myTimer.valid { //DO }