Junior — Middle
Care este rolul delegaților în codul tău și pentru ce sunt folosiți?
sobes.tech AI
Răspuns de la AI
Delegatii în iOS sunt un model de proiectare care permite unui obiect să transfere responsabilitatea pentru executarea anumitor acțiuni către alt obiect. Este o modalitate de a organiza feedback-ul și comunicarea între obiecte fără o legătură strânsă.
Rolul delegaților:
- Permite unui obiect să notifice altul despre evenimente.
- Oferă personalizare a comportamentului fără moștenire.
- Simplifică împărțirea responsabilităților.
Exemplu: UITableView utilizează un delegat pentru gestionarea selecției celulelor. Clasa care implementează protocolul UITableViewDelegate primește notificări despre acțiunile utilizatorului.
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("Buton apăsat")
}
}