2009-08-06 9 views
2

J'essaie d'obtenir le contenu d'une collection de tableaux à imprimer en utilisant ma fonction de débogage (qui prend une chaîne). Quelqu'un sait-il comment faire ça? Je voudrais que ce soit plutôt facile mais n'arrive pas à trouver un moyen ... Je reçois le mot "Objet" imprimé la plupart du temps.flex obtenir le contenu de arraycollection en tant que chaîne

+0

Pouvez-vous ajouter la fonction que vous utilisez, et la source des objets étant passé à elle? –

+0

hey Dan M. J'ai essayé beaucoup de fonctions mais aucune ne semblait vraiment fonctionner. L'objet utilisé pour créer ArrayCollection sont des nœuds XML d'un service HTTPService. Je l'ai fonctionné maintenant. Merci! – thomas

Répondre

0

La méthode suivante devrait vous obtenir ce que vous avez besoin:

public static function arrayCollectionToString(arr:ArrayCollection):String 
{ 
    var toRet:String = "["; 
    for each(var obj:Object in arr) { 
     toRet += obj.toString() + ", "; 
    } 
    toRet += "]"; 
    return toRet; 
} 

Si vous collez ceci dans la même classe que votre méthode de débogage, alors vous pouvez l'utiliser comme suit:

SomeDebugClass.dbgMessage(SomeDebugClass.arrayCollectionToString(myArrayCollection)); 
+1

Cela aura une virgule de fin à la fin de la liste. Utilisez la réponse ci-dessous de sharvey. – Edyn

11

C'est beaucoup plus propre à faire:

var str:String = '['+myArrayCol.source.join(', ')+']'; 

la propriété source d'un ArrayCollection est un tableau, de sorte que tous les les fonctions habituelles sont disponibles.

0

par défaut est le coma allready séparé

array.toString() 
+0

Ceci est possible si vous accédez à la propriété 'source' (qui est un tableau) sur l'objet ArrayCollection. –

0

Vous pouvez utiliser

ObjectUtil.toString(arrayCollection); 
Questions connexes