0

オブジェクトをイントロスペクトし、それらのプロパティに基づいて解析するループがあります。通常のオブジェクトではすべて正常に機能します。しかし、カスタム名前空間を持ついくつかのオブジェクトを使用していますが、同じループはプロパティを認識せず、何もトレースしません。ループはかなり標準的ですが、とにかくここに貼り付けています:

for (var id:String in record) 
{
    trace(id, " : ", record[id]); 
}

誰もこれを克服する方法を知っていますか? 助けてくれてありがとう!

4

1 に答える 1

2

わかりましたので、解決策を見つけました。

bytearrays でオブジェクトを複製すると、デフォルトの名前空間を持つオブジェクトが返されるようです。

関数は次のとおりです。

function copy(value:Object):Object
{
    var buffer:ByteArray = new ByteArray();
    buffer.writeObject(value);
    buffer.position = 0;
    var result:Object = buffer.readObject();
    return result;
}

誰かが同じ問題を抱えている場合は、ここに残します…</p>

于 2012-07-15T23:09:28.847 に答える