flex类的深复制(扩展)
1:假如你要深复制一个类A
public class A
{
public var vo:B
}
你首先要做的是注册类,例如:
public static function registerClass():void
{
//把子类注册
PackUtil.registerClass(B);
}
//接下来就是克隆:
var cloneA:A=clone(A);
cloneA就是我们想要的对象了。
//****************克隆的实现方法***********************//
//克隆一个vo对象
public static function clone(o:Object):Object
{
var qClassName:String = getQualifiedClassName(o);
var objectType:Class = getDefinitionByName(qClassName) as Class;
registerClassAlias(qClassName, objectType);
var copier : ByteArray = new ByteArray();
copier.writeObject(o);
copier.position = 0;
return copier.readObject();
}
//向amf注册类,以便反转的时候能找到该类
public static function registerClass(classObj:Object):void
{
var qClassName:String = getQualifiedClassName(classObj);
var objectType:Class = getDefinitionByName(qClassName) as Class;
registerClassAlias(qClassName, objectType);
}
相关文档:
本系列文章主要介绍了关于Flex与.NET结合开发中的一些互操作性,包括网络通信、数据加载、数据传输、文件传输、以及应用于Flex与.NET协作开发的通信网关开源项目FluorineFx的相关知识点。
开源项目FluorineFx就是专门针对.NET平台与Flex通信提供的AMF协议通信网关,我们可以通过FluorineFx很方便 ......
RIA(Rich Internet Application)—— 富 Internet
应用以其良好的客户体验得到越来越广泛的应用,银行,电信等领域已有诸多成功案例。Adobe 的 Flex 是最具有代表性的基于 Flash 的 RIA
技术。通过对 Flex 以及当前流行的 Spring、Hibernate 的 J2EE 开源框架进行集成,使客户既能获得到一流的用户体验,又 ......
经过反复的调试跟踪,在cairngorm框架不能地控制数据更新操作的触发顺序,无法保证同时读取“模型”层的点类(equip)、线类(link)实例对象的数据。
看来,只能在控制mxml控件中对控件进行控制了。 ......