Sobes.tech
Junior — Middle

Kodunuzda nümayəndələrin rolu nədir və onlar nə üçün istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

iOS-də nümayəndələr (delegates) müəyyən fəaliyyətlərin həyata keçirilməsi məsuliyyətini başqa obyektə ötürməyə imkan verən dizayn nümunəsidir. Bu, obyektlər arasında geri bildirim və əlaqəni güclü bağlılıq olmadan təşkil etmək üçün bir yoldur.

Nümayəndələrin rolu:

  • Bir obyektin digərinə hadisələr barədə bildiriş göndərməsinə imkan verir.
  • Miras olmadan davranışın fərdiləşdirilməsini təmin edir.
  • Məsuliyyətlərin bölünməsini sadələşdirir.

Nümunə: UITableView, hüceyrənin seçimini idarə etmək üçün nümayəndə istifadə edir. UITableViewDelegate protokolunu həyata keçirən sinif istifadəçi fəaliyyətləri barədə bildirişlər alır.

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("Düymə basıldı")
    }
}