มีใครทราบบ้างว่าเป็นไปได้หรือไม่ที่จะยกเลิกเหตุการณ์ตัวเลือกที่จัดคิวไว้แล้วจากสแต็กเหตุการณ์หรือสแต็กตัวจับเวลา (หรือกลไกใดก็ตามที่ API ใช้) เมื่อคุณโทรperformSelector:withObject:afterDelay
?
ฉันใช้สแต็กเหตุการณ์นี้เพื่อแก้ไขแอตทริบิวต์ของรูปภาพภายในแท็บ TabBar และบางครั้งอาจจัดคิวการเปลี่ยนแปลงที่มีมูลค่าสูงสุด 10 วินาทีในหนึ่งครั้งที่ดำเนินการอย่างรวดเร็วสำหรับการวนซ้ำ ... อาจจะ 5 มิลลิวินาทีหรือมากกว่านั้น
ปัญหาเกิดขึ้นหากผู้ใช้สลับแท็บ ... เช่นบอกว่าฉันมีการปรับเปลี่ยนรูปภาพในคิวสำหรับรูปภาพที่แสดงทันทีที่เปิดใช้งานแท็บ # 4 จากนั้นผู้ใช้จะเปลี่ยนไปใช้แท็บ # 3 อย่างรวดเร็วจากนั้นกลับไปที่แท็บ # 4 ... จากนั้นจะจัดคิวใหม่อีก 10 วินาทีของการแก้ไขในขณะที่คิวเก่ายังคงเล่นอยู่อาจจะอยู่ที่คิวประมาณ 2 หรือ 3 วินาทีหากเปลี่ยนเร็วพอ ... แต่ถึง 5 วินาทีในการ สตรีมมีปัญหา
ดังนั้นฉันจึงต้องการวิธียกเลิกการเปลี่ยนแปลงสแต็กเก่าก่อนที่จะใส่สแต็กใหม่ ...
ฉันกำลังเขียนข้อความค้นหานี้ในอดีตกาลเนื่องจากฉันได้หาทางเลือกอื่นในการแก้ปัญหานี้โดยการเพิ่มตัวกรองเหตุการณ์ที่มีตาเหยี่ยวในฟังก์ชันการเล่น อย่างไรก็ตามฉันยังคงสงสัยว่าจะสามารถยกเลิกกิจกรรมได้หรือไม่เพราะฉันรู้สึกว่าความรู้ดังกล่าวจะเป็นประโยชน์ในอนาคต ขอบคุณสำหรับความช่วยเหลือใด ๆ ที่แสดง :)