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.