Pergunta

Eu tenho uma matriz que eu estou usando para armazenar uma coleção de objetos.Meu aplicativo permite ao usuário adicionar novos objetos para a matriz e editar o conteúdo dos objetos.todos os objetos na matriz são do mesmo tipo e o problema que eu estou tendo é que se eu adicionar um novo objeto ou editar um objeto existente, em seguida, todos os objetos contidos na matriz tornar a cópia exata do objeto recém-adicionado.Existe alguma maneira de parar isto?

Na minha Aplicação eu tenho um objeto que armazena um ArrayCollection:

public class MyArray
{
    public var array:ArrayCollection = new ArrayCollection;
}

eu tenho um objeto que eu desejo para armazenar instâncias do array:

public class MyObject
{
    public var things:String;
}

A minha Principal arquivo mxml exibe todos os itens na MyArray em um datagrid que é realizada em um arquivo actionscript:

<App xmlns:par="http://spicefactory.org/parsley">
    <fx:Declarations>
        <par:ContextBuilder config="MainContext"/>
        <par:Configure/>
        <par:FastInject property="mainpm" type="{MainPM}"/>
    </fx:Declarations>
    <fx:Script>
         [Inject][Bindable]
         public var mainpm:MainPM;
    <fx:Script>

e, em seguida, o actionscript do arquivo:

public class MainPM
{
    [inject][Bindable]
    public var thearray:MyArray;

    public function addNew(thingtoadd:MyObject):void
    {
        thearray.addItem(thingtoadd);
    }
}

Eu tentei incluir o código da aplicação é bastante grande, mas, se forem necessárias mais informações eu posso fornecer.

Foi útil?

Solução

Ok, então o caminho para a sola este foi criar uma nova instância de MyObject e acrescentar que a MyArray em vez disso.

public function addNew(thingtoadd:MyObject):void
{
    var addobj:MyObject = new MyObject;
    addobj.things = thingtoadd.tings;
    thearray.addItem(addobj);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top