0
是否有方法或其他本地方式來獲取或存儲對象的唯一標識符? (可能使用haxe本地訪問或actionscript API)。對象的唯一整數或字符串標識符(散列)
原因是爲了便於思考Dictionary和其他基於對象索引唯一性的數據結構。
是否有方法或其他本地方式來獲取或存儲對象的唯一標識符? (可能使用haxe本地訪問或actionscript API)。對象的唯一整數或字符串標識符(散列)
原因是爲了便於思考Dictionary和其他基於對象索引唯一性的數據結構。
如果你正在使用字典,對象本身可以用作關鍵,所以你有你的獨特性。
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();
雖然上面是記錄模式有關於這個問題的解釋,我是問任何一個本地ID目的。這似乎不是由Flash運行時提供的。 – MetaChrome
@dlot。沒有原生的方式(至少我知道)。除了上面的內容,你可以實現一些hashcode(我在想Java的''hashcode()''interface/method)。但是這並不能保證唯一性(特別是對於字段共享相同值的對象)。我會考慮所有事情的字典(int選項可以工作,但它可能是很多工作,或許,一點點收益)。 –
我知道字典和指定的模式。 :)但還有其他抽象依賴於哈希表以外的對象的唯一性。哦,我猜你必須手動完成。 – MetaChrome