2013-09-25 111 views

回答

2

如果你正在使用字典,對象本身可以用作關鍵,所以你有你的獨特性。

var dict:Dictionary = new Dictionary(); 
var obj:SomeClass = new SomeClass(); 
dict[obj] = "whatever"; 

對於其他數據結構,您可以嘗試靜態生成序列號。在很多情況下,我認爲這應該足夠了。

喜歡的東西:

class UniqueKey { 
    private static var _key:int = 0; 
    public static function getNextKey():int { 
    return ++_key; 
    } 
} 

,並使用它:

var obj:SomeClass = new SomeClass(); 
obj.unique = UniqueKey.getNextKey(); 
+0

雖然上面是記錄模式有關於這個問題的解釋,我是問任何一個本地ID目的。這似乎不是由Flash運行時提供的。 – MetaChrome

+1

@dlot。沒有原生的方式(至少我知道)。除了上面的內容,你可以實現一些hashcode(我在想Java的''hashcode()''interface/method)。但是這並不能保證唯一性(特別是對於字段共享相同值的對象)。我會考慮所有事情的字典(int選項可以工作,但它可能是很多工作,或許,一點點收益)。 –

+0

我知道字典和指定的模式。 :)但還有其他抽象依賴於哈希表以外的對象的唯一性。哦,我猜你必須手動完成。 – MetaChrome