Swift 4: bloqueo del temporizador: selector no reconocido enviado a la instancia
Estoy tratando de llamar a una instancia de Timer e imprimir "Ha pasado un segundo" por cada segundo que transcurre. Estoy siguiendo The Complete iOs 11 & Swift Developer Course en Udemy. El instructor hace exactamente esto y su código funciona, pero el mío está fallando.
Aquí está el código:
var timer: Timer! = Timer()
@IBAction func cameraPressed(_ sender: Any) {
timer.invalidate()
}
func processTimer() {
print("A second has passed")
}
override func viewDidLoad() {
super.viewDidLoad()
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: Selector("processTimer"), userInfo: nil, repeats: true)
Debería iniciar el temporizador al ejecutar la aplicación y luego detenerlo cuando presiono el botón presionado de la cámara. Sin embargo, se está produciendo un error con:
Selector no reconocido enviado a la instancia ...
libc ++ abi.dylib: termina con una excepción no capturada del tipo NSException
Soy nuevo en Swift y los otros problemas de StackOverflow que parecen similares a este no están resolviendo mi problema. He intentado cambiar el "Temporizador!" opcional a "Temporizador?" y cambiando "Selector (" processTimer ")" a "#selector (processTimer)" y sigo sin lograr que funcione.