Sobes.tech
Junior — Middle

Bir klik hadisəsinə bağlı çox sayda dinləyicinin işlənməsi necə həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

iOS-də, məsələn, bir hadisəyə, məsələn, klik (touchUpInside), bir neçə dinləyici (target-action) qoşulubsa, onlar əlavə olunduqları sırayla çağrılır. Hər bir dinləyici hadisəni qəbul edir və öz məntiqini icra edə bilər.

Əgər sıralaməni idarə etmək və ya daha sonra işləməni dayandırmaq istəyirsinizsə, bunu idarəçi daxilində edə bilərsiniz, məsələn, digər dinləyiciləri deaktiv etmək və ya bayraqlardan istifadə etmək. Ancaq UIKit-in standart mexanizmi hadisənin yayılmasını dayandırmaq üçün daxili bir yol təqdim etmir.

UIButton-a bir neçə idarəçi əlavə etməyin nümunəsi:

button.addTarget(self, action: #selector(firstHandler), for: .touchUpInside)
button.addTarget(self, action: #selector(secondHandler), for: .touchUpInside)

@objc func firstHandler() {
    print("Birinci idarəçi")
}

@objc func secondHandler() {
    print("İkinci idarəçi")
}

Klikləmə zamanı hər iki idarəçi ardıcıllıqla çağrılacaq.