Sobes.tech
Junior — Middle

Чӣ гуна коркарди чанд гӯшкунак, ки ба як ҳодисаи клик пайваст шудаанд, анҷом дода мешавад?

sobes.tech AI

Ҷавоб аз AI

Дар iOS, агар ба як ҳодиса, масалан, клик (touchUpInside), чанд гӯшкунанда (target-action) пайваст карда шуда бошанд, онҳо дар тартиби илова кардан даъват мешаванд. Ҳар як гӯшкунанда ҳодисаро мегирад ва метавонад логикаи худро иҷро кунад.

Агар шумо хоҳед, ки тартибро назорат кунед ё пешгирӣ кунед, ки ҳодиса ба дигар гӯшкунандагон расад, метавонед инро дар дохили ҳалли худ идора кунед, масалан, бо ғайрифаъол кардани гӯшкунандагони дигар ё истифодаи рамзҳо. Аммо, механизм стандартии UIKit роҳи дохилӣ барои боздошти паҳншавии ҳодиса байни гӯшкунандагон намедиҳад.

Масалан, илова кардани чанд ҳалли ба UIButton:

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

@objc func firstHandler() {
    print("Ҳалли аввал")
}

@objc func secondHandler() {
    print("Ҳалли дуввум")
}

Ҳангоми клик, ҳар ду ҳалли пайваста даъват мешаванд.