Flex - Как использовать переменную для определения имени экземпляра объекта - PullRequest
1 голос
/ 20 апреля 2010

По сути, это то, чего я хочу достичь, однако это не работает так. Есть ли решение: - Проблема в том, что я не могу динамически назвать новый объект ... ??? вытаскивая мои волосы.

import views.printingView;

public function initComponent(o:Array):void{
    SomeObject::Array = o;

    for(i=0; i <=SomeObject.length-1; i++){
    'invoice'+{SomeObject[i].namedID}:printingView = new printingView();
    someDisplayContainer.addChild('invoice'+{SomeObject[i].namedID});
    'invoice'+{SomeObject.namedID}.publicInitFunction(SomeObject[i]);
    }
  }

1 Ответ

2 голосов
/ 20 апреля 2010

Из кода, который вы разместили, вообще не требуется динамически именованная переменная. Этот код можно упростить до этого:

import views.printingView;

public function initComponent(o:Array):void{
    for each(var item:Object in o)
    {
        var v:printingView = new printingView();
        someDisplayContainer.addChild(v);
        v.publicInitFunction(item);
    }
}

Если по какой-то причине вам действительно нужна переменная с динамическим именем , вы можете сделать это следующим образом. Это предполагает, что текущий объект объявлен динамическим.

import views.printingView;

public function initComponent(o:Array):void{
    SomeObject::Array = o;

    for each(var item:Object in o)
    {
        var name:String = 'invoice' + item.namedID;
        this[name] = new printingView();
        someDisplayContainer.addChild(this[name]);
        this[name].publicInitFunction(item);
    }
}     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...