2011年9月2日

[AS3.0]Dictionary的介紹與使用

Dictionary
簡單來說跟 Object 和 Array 是做一樣的事。
是用來索引物件用的類別。

Array是用數字來當做 Key 值。_array[0] = "字串1";
_array[1] = "字串2";

_array[0] = "字串3";
時, 本來的值就會被取代掉
trace(_array[0]) //得到 字串3



Object是使用String來當作 Key 值_obj['key'] = "String1";
_obj['key2'] = "String2";
(或寫成_obj.key2 = "String2";)

_obj['key2'] = "String3";
本來的值也會被取
trace(_obj['key2']) //得到 String3


Dictionary
是把'物件', 當作索引值,
每個物件都是獨立單一的, 這樣就可以確保索引值是唯一的。
var _dic :Dictionary = new Dictionary();
var _mc:MovieClip = new MovieClip();
var _mc2:MovieClip = new MovieClip();
//建立二個MovieClip
_dic[_mc] = "Dictionary Value1";
_dic[_mc2] = "Dictionary Value2";
用for in 掃一下內容。
for (var d:* in _dic) {
trace(d, _dic[d])
}
// [object MovieClip] Dictionary Value1
// [object MovieClip] Dictionary Value2
就可以得到當初寫入的值了



記得, 不要時一定要delete掉, 否則物件的指派還在
就不會被記憶體回被器回收喔。

資料來源