Si inicia el método del temporizador
let timer = Timer(timeInterval: 3, target: self, selector: #selector(update(_:)), userInfo: [key : value], repeats: false)
func update(_ timer : Timer) {
}
luego agréguelo al bucle usando el método que no se llamará a otro selector
RunLoop.main.add(timer!, forMode: .defaultRunLoopMode)
NOTA: Si desea que esto se repita, haga que las repeticiones sean verdaderas y mantenga la referencia del temporizador; de lo contrario, no se llamará al método de actualización.
Si estás usando este método.
Timer.scheduledTimer(timeInterval: seconds, target: self, selector: #selector(update(_:)), userInfo: nil, repeats: true)
mantenga una referencia para su uso posterior si las repeticiones son verdaderas.