Sobes.tech
Junior — Middle

Qual é o papel dos delegados no seu código e para que são utilizados?

sobes.tech IA

Resposta da IA

Delegados em iOS são um padrão de projeto que permite a um objeto transferir a responsabilidade de executar certas ações para outro objeto. É uma forma de organizar o feedback e a comunicação entre objetos sem uma forte dependência.

Papel dos delegados:

  • Permitem que um objeto notifique outro sobre eventos.
  • Proporcionam personalização do comportamento sem herança.
  • Simplificam a divisão de responsabilidades.

Exemplo: UITableView usa um delegado para lidar com a seleção de células. A classe que implementa o protocolo UITableViewDelegate recebe notificações sobre as ações do usuário.

protocol MyDelegate: AnyObject {
    func didTapButton()
}

class MyClass {
    weak var delegate: MyDelegate?

    func buttonTapped() {
        delegate?.didTapButton()
    }
}

class ViewController: UIViewController, MyDelegate {
    let myObject = MyClass()

    override func viewDidLoad() {
        super.viewDidLoad()
        myObject.delegate = self
    }

    func didTapButton() {
        print("Botão pressionado")
    }
}