Não funcionou.

Não fiz outros testes. Acho estranho essa dificuldade para conseguir
iterar entre as propriedades de um objeto.

On 11 abr, 11:44, Eric Tonussi <erictonu...@gmail.com> wrote:
> Acredit que isso vai resolver seu problema:
>
>         public function copyObject( o:Object ):void {
>
>             var bytes:ByteArray = new ByteArray();
>             bytes.writeObject( o );
>             bytes.position = 0;
>
>             var obj:Object = bytes.readObject();
>
>             for ( var p:String in obj ) {
>
>                 this[p] = o[p];
>
>             }
>
>         }
>
> Abraços
>
> Em 11 de abril de 2011 11:26, Bruno Carneiro
> <guimaraescarne...@gmail.com>escreveu:
>
>
>
>
>
>
>
> > Analisando o debug, notei que a iteração dentro do método copy não
> > acontece. Ele apenas passa direto sem iterar pelas propriedades do
> > objeto, por isso nenhuma cópia é feita.
>
> > Não entendo porque não está iterando pelas propriedades do objeto já
> > que no link que referenciei o exemplo funciona de modo análogo. A
> > única diferença é que no meu caso eu implemento o método em uma classe
> > e depois uso invocando a partir de um objeto de outra classe que
> > extende a classe que implementa o método.
>
> > On 11 abr, 10:59, Bruno Carneiro <guimaraescarne...@gmail.com> wrote:
>
> > > /**
> > >  * Copia o estado de um objeto
> > >  * @param Obejto que será copiado
> > >  */
> > > public function copyObject(o:Object):void
> > > {
> > >         for ( var p:String in this )
> > >         {
> > >                 this[p] = o[p];
> > >         }
>
> > > }
>
> > > Quando tento fazer a cípia via copy
>
> > > item.copyObject( tmp );
>
> > > A variável item não perde sua referência mas também não tem suas
> > > propriedades alteradas, nenhuma modificação é feita.
>
> > > Para criar a função copy me baseiei nessa páginahttp://
> > help.adobe.com/pt_BR/ActionScript/3.0_ProgrammingAS3/WS5b3ccc5...
>
> > --
> > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> > Para sair da lista, envie um email em branco para
> > flexdev-unsubscr...@googlegroups.com
> > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a