Swift 4: Falha no timer - seletor não reconhecido enviado para a instância

Estou tentando chamar uma instância do Timer e imprimir "Um segundo se passou" para cada segundo que decorre. Estou seguindo o Curso completo de desenvolvedor iOs 11 e Swift na Udemy. O instrutor faz exatamente isso e seu código funciona, mas o meu está travando.

Aqui está o 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)

Ele deve iniciar o cronômetro ao executar o aplicativo e pará-lo quando pressiono o botão pressionado da câmera. No entanto, está errado com:

seletor não reconhecido enviado para a instância ...

e

libc ++ abi.dylib: finalizando com exceção não capturada do tipo NSException

Eu sou novo no Swift e os outros problemas do StackOverflow que parecem semelhantes a isso não estão resolvendo o meu problema. Eu tentei mudar o "Timer!" opcional para "Temporizador?" e alterando "Selector (" processTimer ")" para "#selector (processTimer)" e ainda não estou conseguindo fazê-lo funcionar.

questionAnswers(1)

yourAnswerToTheQuestion