代码之家  ›  专栏  ›  技术社区  ›  Andy Moore

对象克隆库的闪存复制?

  •  4
  • Andy Moore  · 技术社区  · 15 年前

    这可能是一个非常简单的问题,我只是不知道该怎么做。

    我有一个我想要复制的对象,不知道该怎么做。这是我的尝试:

    var myObj = new ObjectClass();
    var duplicate = myObj;
    duplicate = null;
    myObj.function(); // Error: Null reference
    

    objectclass非常大,是它自己创建的子类,我确信其中可能有一些单例类。

    有没有简单的复制方法?

    编辑: 看起来我在找“克隆”,因为它没有AS3功能,而且您显然不能克隆私有数据。有人知道一个图书馆或者一个克隆大量私有数据的解决方案吗?

    2 回复  |  直到 14 年前
        1
  •  4
  •   Gerald Yeo    15 年前

    我是从某个博客上得到这个实用程序的,记不清是从哪里得到的,所以我不能给学分。但它不能与BitmapData一起工作。不管怎样,这里是:

    public static function copy(o:Object):Object 
    {
        var bytes:ByteArray = new ByteArray( );
        bytes.writeObject( o );
        bytes.position = 0;
        return bytes.readObject( );
    }
    

    用途:
    registerClassAlias(“com.tests.testclass”,testclass); var test copy:testclass=testclass(objectutil.copy(test));

        2
  •  1
  •   GEOCHET S.Lott    15 年前

    你可以使用 ObjectUtil.copy() (一个flex库)。但你说得对,它不支持私有数据。所以这是一个黑暗中的镜头,但我想知道你是否用 ByteArray.writeObject() 如果这将复制私有数据?也许值得一试。