Junior — Middle
Jaka jest rola delegatów w twoim kodzie i do czego są używane?
sobes.tech AI
Odpowiedź od AI
Delegaci w iOS to wzorzec projektowy, który pozwala jednemu obiektowi przekazać odpowiedzialność za wykonanie określonych działań innemu obiektowi. To sposób na zorganizowanie informacji zwrotnej i komunikacji między obiektami bez silnego powiązania.
Rola delegatów:
- Pozwalają obiektowi powiadamiać inny obiekt o zdarzeniach.
- Zapewniają dostosowanie zachowania bez dziedziczenia.
- Ułatwiają podział odpowiedzialności.
Przykład: UITableView używa delegata do obsługi wyboru komórki. Klasa implementująca protokół UITableViewDelegate otrzymuje powiadomienia o działaniach użytkownika.
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("Przycisk naciśnięty")
}
}