Junior — Middle
Aká je úloha delegátov vo vašom kóde a na čo sa používajú?
sobes.tech AI
Odpoveď od AI
Delegáti v iOS sú vzorom návrhu, ktorý umožňuje jednému objektu preniesť zodpovednosť za vykonanie určitých akcií na iný objekt. Je to spôsob, ako organizovať spätnú väzbu a komunikáciu medzi objektmi bez silného prepojenia.
Úloha delegátov:
- Umožňujú objektu oznámiť inému o udalostiach.
- Poskytujú prispôsobenie správania bez dedičnosti.
- Zjednodušujú rozdelenie zodpovedností.
Príklad: UITableView používa delegáta na spracovanie výberu buniek. Trieda, ktorá implementuje protokol UITableViewDelegate, dostáva oznámenia o akciách používateľa.
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("Tlačidlo stlačené")
}
}