我寫這篇ActionScript代碼:removeEventListener似乎沒有刪除監聽
trace("before remove: " +
donneesTechniques.hasEventListener(DonneesTechniques.INITIALISATION));
donneesTechniques.removeEventListener(DonneesTechniques.INITIALISATION, init);
trace("after remove: " +
donneesTechniques.hasEventListener(DonneesTechniques.INITIALISATION));
這段代碼的輸出是:
before remove: true
after remove: true
這怎麼可能? donneesTechniques
組件具有用於INITIALISATION
事件的列表程序,但它似乎不會將其刪除...
我通過代碼檢查了此組件的內存地址,它始終是相同的地址。所以沒有刪除另一個對象。 removeEventListener沒有任何效果,如果聽衆沒有找到,但在我的情況有(按hasEventListener()
)
實際答案:停止使用as3的魔法字符串事件系統,並切換到更快的速度,並有效的as3信號。 http://johnlindquist.com/2010/01/21/as3-signals-tutorial/沒有什麼,他們提供了更多的好處,很容易跟蹤和刪除它們。 – JTtheGeek
因爲我是一名實習生,對一個已經存在的(但是如此被竊聽)項目進行研究,所以我會問我的團隊是否可以互相幫助。順便說一句,非常感謝你,我會看看這個爲我的個人項目! –
我跟團隊的其他成員交談過,他們信服這個信號插槽方法!非常感謝這個鏈接JTtheGeek! –