我有一個函數,它檢查對象列表以查看它們是否被點擊並相應地觸發了OnClick事件。我相信該功能正常工作,但我有一個問題:「Collection was modified ...」問題
當我鉤到一個OnClick事件,並刪除並插入元素到列表中的不同位置(此程序的典型功能),我收到「收集已修改...」錯誤。
我相信我明白是怎麼回事:發射必要的onclick事件經過的每個對象
- 函數週期
- 觸發一個事件和對象改變的地方以每掛鉤函數 列表
- 拋出異常的修改集合,而通過它迭代
我的問題是,如何做我允許的功能通過迭代將對象,在適當的時候觸發必要的事件,並仍然允許用戶選擇操縱對象在列表中的位置?
我認爲第二個選項聽起來最好。我將在更新過程中記錄對列表的任何修改,然後在迭代完成後應用它們。 – 2010-05-25 13:56:00
請注意,當您進行多個編輯 - 「交換1和2」和「交換2和3」或「在A之後移動C」和「刪除」時,您必須清楚「一個」。我通常會發現,通過迭代副本來製作正確的代碼會更容易,儘管它可能非常低效。 – 2010-05-26 11:25:07