2011-10-10 37 views
1

我有一個圓形的雙向鏈表的漂亮的標準實現。對於數組,我通常使用for each in來遍歷每個元素,而不必擔心。For Each枚舉自定義數據集類

問題是我的自定義鏈接列表無法通過簡單調用查看。我想,如果在AS3中有一個Proxy類,那麼Adobe團隊提出了一個想法實現的可能性很高,但我不知道......可枚舉類或其他東西?儘管如此,我的搜索結果爲零。

有沒有辦法讓For Each In與Flash中的自定義類一起工作?不經過的所有對象的屬性,但去通過這個類來表示整個數據集。

回答

2

迭代你可以在我的博客閱讀this postProxy類。你可以找到實現「每個」邏輯的例子。

+0

太棒了!我之前看過Proxy只用於屬性,並且前一段時間閱讀了文檔,所以我很確定這裏沒有這樣的功能。事實證明我錯了。謝謝! – Maurycy

+0

我的榮幸。很高興,我幫了你! –

1

是的,你是對的,請查看Proxy class

具體而言,nextName,nextNameIndexnextValue方法將是感興趣的。

只要你可以很方便的索引列表中的元素,你應該能夠實現for ... in循環。

1

你應該定製實現hasNext()next() metods,只是通過對象列表

+1

此外,你可以看看迭代器的設計模式http://www.as3dp.com/2008/09/04/the-iterator-pattern-flexible-implementation-of-collections/ –