2010-08-23 52 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