在AS3中会经常使用VO(值对象),尤其是在Cairngorm之类的框架中。下面是我在工作中使用VO而总结出的两个使用技巧,与大家分享。
一、可用遍历方式赋值。如下面代码:
package vo
{
public class Media
{
public var name:String;
public var singer:String;
public var format:String;
public function Media()
{
}
}
}
如果VO的属性与其它对象的属性一一对应。在转换时就可以用遍历赋值。如下面代码我们将XML属性解析成VO属性。
var ac:ArrayCollection = new ArrayCollection();
for each(var xml:XML in list)
{
var media:Media = new Media();
for each (var node:XML in xml.attributes())
{
var obj:Object = node.localName();
media[obj] = xml.@[obj];
}
ac.addItem(media);
}
二、动态VO类。如下面代码:
package vo
{
public dynamic class Media
{
public function Media()
{
}
}
}