1

の動作はDictionary私を混乱させます:私は、以下のDictionaryように満たされた を持っています:

var playerControllers:Dictionary = new Dictionary();

playerControllers[id] = new PlayerController();

次に、コントローラーの 1 つを削除します。

delete playerControllers[id];   //I also tried playerControllers[id] = null;

それから:

for each (var playerController:PlayerController in playerControllers)
{
//"deleted" PlayerController exists! 
}

ディクショナリからキーで値を削除するには?

4

1 に答える 1

3

これは役立つかもしれません。

var playerControllers:Dictionary = new Dictionary(true);//弱参照

Object as key.weを使用している場合weak referenceは、この場合に役立つ可能性があります。

ディクショナリクラスがそのplayerControllers[id]参照をディクショナリに保持しているため、メモリ内のstilからplayerControllers[id]を削除しても。

理解を深めるためにhttp://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/associative-arrays.html#articlecontentAdobe_numberedheader_2

于 2013-03-04T05:18:33.497 に答える