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")
}
}