PDA

Просмотр полной версии : Вопрос о Dictionary () , множество объектов


in4core
19.04.2011, 22:02
Такой вопрос, есть скажем xml , каждый нод с 5 атрибутами например. image, text, desc и т.д.

нужно создать что то типа [ [ image,text,desc] , [image1,text1,desc1]........] ( как это выглядело бы массивами ). Такое же делается через dictionary, или в данном случае используем все таки массивы?

etc
19.04.2011, 22:30
Массивов достаточно.

in4core
19.04.2011, 22:31
А в каком случае тогда лучше использовать дикты? зачем они вообще тогда нужны когда все массивами можно сделать?

Bgg
19.04.2011, 22:34
Когда удобней обращаться к элементу по ссылке, а не по индексу как в массиве или строке в Object.

etc
19.04.2011, 22:39
Словари могут иметь ключи сложных типов. Например в виде Sprite. dict[someSprite] = someValue.

По поводу XML, наслаждайся:

var xml:XML = <xml>
<node param1="10" param2="20" param3="30" />
<node param1="11" param2="21" param3="31" />
<node param1="12" param2="22" param3="32" />
<node param1="13" param2="23" param3="33" />
</xml>;
var array:Array = new Array();
var node:Array;

xml.*.((true && (array.push(node = new Array()) && (valueOf().attributes()).(node.push(valueOf().toString())))));
trace(array.join('::'));

Psycho Tiger
19.04.2011, 22:58
Я бы Value Object`ов понаделал.

in4core
19.04.2011, 23:08
Psycho Tiger вот и вопрос был как? как в цикле хеш то накрутить?

Psycho Tiger
19.04.2011, 23:34
class MyValue{
public var image;
public var text;
public var url;
public static function deserializeFromNode(node:XMLList):MyValue{
return new MyValue(); //+забивка полей из node
}
}
И использовать Vector.<MyValue>