Sobes.tech
Junior — Middle

Koja je uloga delegata u vašem kodu i zašto se koriste?

sobes.tech АИ

Одговор од АИ

Delegati u iOS su obrazac dizajna koji omogućava jednom objektu da prenese odgovornost za izvršenje određenih radnji na drugi objekat. To je način organizovanja povratnih informacija i komunikacije između objekata bez jake povezanosti.

Uloga delegata:

  • Omogućavaju objektu da obavesti drugi o događajima.
  • Obezbeđuju prilagođavanje ponašanja bez nasleđivanja.
  • Pojednostavljuju podelu odgovornosti.

Primer: UITableView koristi delegata za obradu izbora ćelija. Klasa koja implementira protokol UITableViewDelegate prima obaveštenja o akcijama korisnika.

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("Dugme je pritisnuto")
    }
}