Junior — Middle
Ako sa spracovávajú viacerí poslucháči pripojení k jednej udalosti kliknutia?
sobes.tech AI
Odpoveď od AI
V iOS, ak je udaljenost, na primer, klik (touchUpInside), pripojených viacerých poslucháčov (target-action), sú volané v poradí pridania. Každý poslucháč dostáva udalosť a môže vykonať svoju logiku.
Ak chcete kontrolovať poradie alebo zabrániť ďalšiemu spracovaniu, môžete to spravovať vo vnútri obsluhy, napríklad vypnutím iných poslucháčov alebo použitím vlajok. Štandardný mechanizmus UIKit však neponúka zabudovaný spôsob, ako zastaviť šírenie udalosti medzi poslucháčmi.
Príklad pridania viacerých obsluh k UIButton:
button.addTarget(self, action: #selector(firstHandler), for: .touchUpInside)
button.addTarget(self, action: #selector(secondHandler), for: .touchUpInside)
@objc func firstHandler() {
print("Prvý obsluha")
}
@objc func secondHandler() {
print("Druhý obsluha")
}
Po kliknutí budú oba obsluha volané postupne.