Apache flex Flex4中的getChildren()

Apache flex Flex4中的getChildren(),apache-flex,flex4,flash-builder,Apache Flex,Flex4,Flash Builder,我在我的项目中有这个功能 public function changeFormItemsLabelWidth(form:Form, width:int):void { var formItemsArray:Array = form.getChildren(); for( var i:int = 0; i < formItemsArray.length; i++){ if(formItemsArray[i].className == "FormItem"){

我在我的项目中有这个功能

public function changeFormItemsLabelWidth(form:Form, width:int):void
{
    var formItemsArray:Array = form.getChildren();
    for( var i:int = 0; i < formItemsArray.length; i++){
        if(formItemsArray[i].className == "FormItem"){
            var formItem:FormItem = formItemsArray[i] as FormItem;
            formItem.setStyle("labelWidth", width);
        }
    }
公共函数changeFormItemsLabelWidth(form:form,width:int):void
{
var formItemsArray:Array=form.getChildren();
for(变量i:int=0;i
我得到一个错误:

1061:通过带有静态类型spark的引用调用可能未定义的方法getChildren。组件:表单。

有人能告诉我如何替换getchildren方法吗?因为我正在迁移到Flex4,而这个方法已经不存在了

编辑:

为了得到帮助,我做了一些类似的事情,效果很好

public function changeFormItemsLabelWidth(form:Form, width:int):void
{

    var it:int = 0;
    var n:int = form.numElements;
    for (it; it < n; it++)
    {
        var formItemsArray:Array = form.getElementAt(it) as Array;
    }

    for( var i:int = 0; i < formItemsArray.length; i++){
        if(formItemsArray[i].className == "FormItem"){
            var formItem:FormItem = formItemsArray[i] as FormItem;
            formItem.setStyle("labelWidth", width);
        }
    }
}
公共函数changeFormItemsLabelWidth(form:form,width:int):void
{
var-it:int=0;
变量n:int=form.numElements;
for(it;it
您需要使用
form.numElements
并进行迭代。每个元素都可以通过
form.getElementAt(迭代器)访问

我知道你没有问这个问题,我也不确定你在解决什么问题,但是你在标准生命周期函数之外操作表单大小的代码有点奇怪。这只是一个建议。

我是新手。你能解释一下迭代吗?这只是一个循环的花哨词。请参阅以下示例: