Como usar @selector() em Swift para NSTimer e outros métodos?
Olá a todos! Sou novo em Swift e estou tentando entender os seletores. Tenho experiência com Objective-C, onde costumava usar @selector() para passar métodos para timers ou handlers de eventos. Por exemplo, quero criar um timer simples que chame um método a cada segundo. Aqui está meu código em Swift:
```swift
import UIKit
class ViewController: UIViewController {
var timer: Timer?
override func viewDidLoad() {
super.viewDidLoad()
// Tentando criar um timer, mas não sei como escrever o seletor corretamente
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(updateTimer), userInfo: nil, repeats: true)
}
func updateTimer() {
print("Timer disparou!")
}
}
```
Mas o Xcode mostra um erro: "Argument of '#selector' refers to instance method 'updateTimer()' that is not exposed to Objective-C". Não entendo o que isso significa. Em Objective-C, eu simplesmente escrevia @selector(updateTimer) e funcionava. Por que
No answers yet.
Faça login para deixar uma resposta
Blogs
Quem é quem em C++: lvalue, rvalue, xvalue e outros «valores»
Um dia na vida de um desenvolvedor Rust: do café da manhã ao cargo noturno
Criando um chatbot em PHP: do zero ao código funcional
Por que não existe exists() no jQuery e como verificar elementos sem erros