Sobes.tech
Junior — Middle

Bir tıklama olayına bağlı birden fazla dinleyicinin nasıl işlendiği?

sobes.tech yapay zeka

AI'dan gelen yanıt

iOS'ta, örneğin, bir tıklama (touchUpInside) gibi bir olaya birden fazla dinleyici (target-action) bağlanmışsa, bunlar eklenme sırasına göre çağrılır. Her dinleyici olaya tepki verir ve kendi mantığını çalıştırabilir.

Sıralamayı kontrol etmek veya daha fazla işlem yapılmasını engellemek istiyorsanız, bunu işleyici içinde yönetebilirsiniz, örneğin diğer dinleyicileri devre dışı bırakmak veya bayraklar kullanmak gibi. Ancak, UIKit'in standart mekanizması, dinleyiciler arasında olay yayılımını durdurmanın yerleşik bir yolunu sağlamaz.

Bir UIButton'a birden fazla işleyici ekleme örneği:

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

@objc func firstHandler() {
    print("Birinci işleyici")
}

@objc func secondHandler() {
    print("İkinci işleyici")
}

Tıklama sırasında her iki işleyici de sırasıyla çağrılır.