Junior — Middle
Qual è il ruolo dei delegati nel tuo codice e a cosa servono?
sobes.tech AI
Risposta dell'AI
I delegati in iOS sono un pattern di progettazione che consente a un oggetto di trasferire la responsabilità di eseguire determinate azioni a un altro oggetto. È un modo per organizzare il feedback e la comunicazione tra oggetti senza una forte dipendenza.
Ruolo dei delegati:
- Permettono a un oggetto di notificare un altro sugli eventi.
- Forniscono personalizzazione del comportamento senza ereditarietà.
- Semplificano la divisione delle responsabilità.
Esempio: UITableView utilizza un delegato per gestire la selezione delle celle. La classe che implementa il protocollo UITableViewDelegate riceve notifiche sulle azioni dell'utente.
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("Pulsante premuto")
}
}