Sobes.tech
Junior — Middle

Em que lugar do código é recomendado implementar o registo de ouvintes para o sistema de notificações?

sobes.tech IA

Resposta da IA

Recomenda-se registar os ouvintes (manipuladores) para o sistema de notificações no iOS no método viewDidLoad do controlador ou no construtor do objeto, se o ouvinte estiver relacionado com o ciclo de vida desse objeto.

Isto permite:

  • Registar o ouvinte uma única vez ao carregar a interface ou criar o objeto.
  • Evitar registos repetidos a cada aparição do controlador na tela.

Também é importante não esquecer de remover o registo dos ouvintes (por exemplo, em deinit ou viewWillDisappear) para evitar fugas de memória e comportamentos incorretos.

Exemplo de registo em viewDidLoad:

override func viewDidLoad() {
    super.viewDidLoad()
    NotificationCenter.default.addObserver(self, selector: #selector(handleNotification), name: .someNotification, object: nil)
}

@objc func handleNotification(_ notification: Notification) {
    // Processar a notificação
}

deinit {
    NotificationCenter.default.removeObserver(self)
}