Actionscript 3 在根容器中搜索不需要';找不到所有文本字段?

Actionscript 3 在根容器中搜索不需要';找不到所有文本字段?,actionscript-3,flash,Actionscript 3,Flash,我正在使用函数更新舞台上的文本字段: private function updateFields(rootContainer:DisplayObjectContainer):void { for(var i=0; i < rootContainer.numChildren; i++) { var item:* = rootContainer.getChildAt(i); try { updateFields(item);

我正在使用函数更新舞台上的文本字段:

private function updateFields(rootContainer:DisplayObjectContainer):void
{
    for(var i=0; i < rootContainer.numChildren; i++) {
        var item:* = rootContainer.getChildAt(i);
        try {
            updateFields(item);
        } catch (e:Error) {
            trace(e.toString());
        }
        if (item.toString() == '[object TextField]') {
            trace(item.name);
        }
    }
}
私有函数updateFields(rootContainer:DisplayObjectContainer):void
{
for(var i=0;i
它查找放置在舞台上的一半文本字段。为什么会这样?让我发疯。

这对我很有用

private function updateFields(rootContainer:DisplayObjectContainer):void
{
    for (var i:uint = 0, n:uint = rootContainer.numChildren; i < n; ++i) {
        var item:DisplayObject = rootContainer.getChildAt(i);
        if (item is DisplayObjectContainer) {
            updateFields(DisplayObjectContainer(item));
        } else if (item is TextField) {
            trace(item.name);
        }
    }
}
私有函数updateFields(rootContainer:DisplayObjectContainer):void
{
for(变量i:uint=0,n:uint=rootContainer.numChildren;i

Edit:Fixed
DisplayObjectContainer
casting

我得到了“1118:使用静态类型flash隐式强制值。display:DisplayObject到可能不相关的类型flash。display:DisplayObjectContainer。”您的底层实现不同吗?Fixed
DisplayObjectContainer
casting。还有一个问题,到目前为止,你解决了我的问题。对item的引用是静态的,因此在执行以下操作时,我似乎无法更改文本字段的值:item.text=“text”。如何找到对对象的引用。“对项的引用是静态的”是什么意思<代码>项
将在循环的每次迭代中引用不同的对象。如果
item
持有动态文本字段,您应该能够使用
item.text
更改文本。通过执行“item.text=“hej”;“我获得1119:通过静态类型flash的引用访问可能未定义的属性文本。display:DisplayObject。