Sobes.tech
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")
    }
}