Junior — Middle
Jaká je role delegátů ve vašem kódu a k čemu slouží?
sobes.tech AI
Odpověď od AI
Delegáti v iOS jsou návrhovým vzorem, který umožňuje jednomu objektu předat odpovědnost za provedení určitých akcí jinému objektu. Je to způsob, jak organizovat zpětnou vazbu a komunikaci mezi objekty bez silného propojení.
Role delegátů:
- Umožňují objektu upozornit jiný na události.
- Poskytují přizpůsobení chování bez dědičnosti.
- Zjednodušují rozdělení odpovědností.
Příklad: UITableView používá delegáta k zpracování výběru buněk. Třída, která implementuje protokol UITableViewDelegate, přijímá upozornění o akcích uživatele.
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čítko stisknuto")
}
}