2010-08-23 47 views
0

爲什麼這樣的:的ActionScript初學者,理解爲,每個

for each (var dieListener:Object in dieListeners) 
    { 
     var f:Function = (dieListener as Function); 
     f(); 
    } 

..doesn't工作,如果這個:

for (var i:int=0; i<dieListeners.length; i++) 
    { 
     var f:Function = (dieListeners.getItemAt(i) as Function); 
     f(); 
    } 

..works!?

(第一個根本不進入for循環,但第二個呢!)

+0

您知道你錯過了'each'關鍵字嗎?它應該像'for each(params){}' – 2010-08-23 14:37:07

+0

@Aaron Hathaway添加,仍然是相同的行爲。 – 2010-08-23 14:42:24

+0

dieListeners是什麼類型的對象? – David 2010-08-23 14:55:13

回答

7

ArrayList中不會爲每個支持。嘗試改爲使用ArrayCollection。

+2

正確。編譯器應該在這種情況下說一些有意義的東西..謝謝! – 2010-08-23 17:10:17

+4

+1是的!編譯器肯定會發出警告。 – 2011-06-17 14:10:11