Flex在匿名方法移除自身的偵聽方法

2021-08-27 01:22:19 字數 954 閱讀 1718

question: 有時我們為了減少不必要的引數傳遞,使用匿名方法。但假若匿名方法是個事件的偵聽者時,在偵聽方法結束時,為了節省記憶體,我們得當新增的偵聽方法移除掉。

問題就產生了,因為是匿名方法,在removeeventlistener(event.type, funtion) 中前兩個方法是必須的,第二個方法是填什麼就成了問題。

solution:

在自定義的popupmange類中,處理彈出時,新增了zoom效果,使視窗的出現更為自然些。 private static var zoomshow:zoom = new zoom(); private static var zoomhide:zoom = new zoom(); public static function popshoweffect(target:iflexdisplayobject):void public static function pophideeffect(target:iflexdisplayobject):void public static function createpopup(parent:displayobject, classname:class, modal:boolean = false, childlist:string = null):iflexdisplayobject 但在removepopup()時,我們同樣使用效果,但效果結束時,才是真正的移除彈出的視窗。

這時,需要給zoom物件新增effectevent.effect_end事件偵聽者,同時當偵聽器執行完,移除該偵聽者。

解決辦法如下: public static function removepopup(popup:iflexdisplayobject):void mx.managers.popupmanager.removepopup(popup); evt.target.removeeventlistener(effectevent.effect_ end, arguments.callee); }); }

移除NDK方法

以下內容由 於偉建 提供 刪除.project中的以下字段 基本都是有cdt關鍵字的位置 刪除.cproject 然後重啟eclipse,clean,重新編譯 我這裡還有錯誤,就手動刪了gen 刪除包含cdt欄位 project中需要刪除的字段 org.eclipse.cdt.managedbuil...

c 匿名方法用途 C 匿名方法

我們討論了使用委託來引用具有與委託相同簽名的任何方法。換句話說,您可以使用該委託物件呼叫可由委託引用的方法。匿名方法提供了一種將 塊作為委託引數傳遞的技術。匿名方法是沒有名稱的方法,只是主體。您無需在匿名方法中指定返回型別 它是從方法體內的return語句推斷出來的。編寫匿名方法 匿名方法是通過建立...

c 匿名方法用途 C 匿名方法

c 語言 的 c 匿名方法 前面我們學習過,委託可用於引用任何與委託簽名相同的方法。換句話說,可以呼叫可以由委託使用該委託物件引用的方法。匿名方法提供了一種將 塊作為委託引數傳遞的技術。匿名方法是沒有名稱的方法,只有方法體。不需要在匿名方法中指定返回型別 它是從方法體中的return語句來推斷的。編...