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.

Respuestas a la pregunta(1)

Su respuesta a la pregunta