Actionscript中的深度克隆

Coo*_*kie 7 actionscript

在actionscript中深层克隆对象的最佳方法是什么?

rze*_*erg 10

执行此操作的最佳方法是使用ByteArray和writeObject方法.像这样:

function clone(source:Object):* {
    var copier:ByteArray = new ByteArray();
    copier.writeObject(source);
    copier.position = 0;
    return(copier.readObject());
}
Run Code Online (Sandbox Code Playgroud)

有关此内容的更多信息,请访问:http://www.kirupa.com/forum/showpost.php?p = 1897368& posttcount; = 77

  • 好吧,我刚刚在这里测试了它并且它有效,忽略了我之前的评论.如果你想保留类型安全,你需要在你的类上使用`registerClassAlias()`.类本身和它内部的任何类都有.例如,如果你有一个`TestClass`类,它持有`Sprites`的`Vector`,你需要在`TestClass`和`Sprite`上调用`registerClassAlias()`否则你将返回一个`Object`与'对象`的`矢量`具有`Sprites`的所有属性 (2认同)